Your illustrations are excellent, your level of enthusiasm is unmatched, and simply put, your explanations of the subject at hand are simple and concise. Thank you so much for this video, it has really helped me!
Wow first video i watched on UA-cam for your channel i programming for such 6 months and i want say that your the best one in the whole field keep going my man plz❤❤
@@zhenghr Yeah it should be added before the inner for loop. You can allow multiple instances of the same node be in the priority queue at the same time, but you only want to use the one with the minimum priority in your algorithm. Ideally you would use a priority queue that has a decreaseKey method impelmentation that will allow you to update the priority and move it up in the heap, but java doesn't have that, so you can just have multiple instances.
You are also forgetting that it will show you the "Path" from your start point, to any other point, which is shortest, if you sort the results in numeric order. Using the "last visited" list as your "ordering". (You take the last-visited with the smallest number, working backwards from your destination.) Thus, you know all shortest distances and paths, at the same time. You jumped right into the "tree" comparison, which is a great representation of the shortest-path, as a map, but it doesn't tell you how to get from point A to Z, it just represents all points with the shortest paths. (Had you used other numbers, you could have ended-up with a full map, exactly like you had from the start. It just happened that, in this instance, you excluded two isolated paths which were horribly long, in all path instances. There is also, rare instances, where you need to extend comparison, beyond "checked", when paths have equal values, as both paths can/may be pertinent. This specific formula will ultimately be bias, as it will always pick the "first shortest", as the second equally short path will be discarded, and that may have been a shorter path for another node-set, but it was discarded in favor of the first node set, which may have a longer path to another node. But, I understand, it's not "your algo"... and this is only a simple demonstration of, "how it works in a perfect world."
Hey bro, do you gonna continue this or not, because you are soooo good at making entertaining but useful video like this. I'm looking forward for your new vids.
I wish I was as enthusiastic and passionate about Computer Science as you. I love computers and technology and when I understand the code it is fun... but I am simply not that smart and Data Structures is a struggle for me.
Bro (or gal), it's all about grind. Don't worry about what you think about how smart you are, that doesn't matter. Just grind until you achieve mastery, ez. I just treated this like a MMO since I used to play MapleStory a lot and I applied the same concepts of leveling up to mastering these computer science concepts. Theoretically anyone can get to a really high level in a MMO, and I'm pretty sure that for most people the same concept applies in learning computer science, just gotta grind grind grind If it helps, it look me a long ass time to learn many concepts in computer science. the main advice is just to commit yourself to learn a bit daily -- it actually pays off in the long run, I learned from personal experience and I wish I knew that earlier. You feel like you're a genius when you finally get it but it's actually shadow clones of urself that committed to learning daily that got you that mastery, it was your hard work that got you there
@@chill_cs4627 wow, this actually really helps. I play a shit ton of video games and grind hard in all of em. I guess I have to put in that same work for CS. Thanks man.
@@scum3112 For full transparency, I learned this specific algorithm and also many other algorithms/data structures in school. School resources like lectures and collaboration with other students/teachers definitely makes the process faster since people are often working on similar problems. Besides engaging with these resources, I would say that a large amount of time is still spent doing individual work, just trying to solve problem sets, peeking at the answer key to see if you're right (if an answer key exists), and experimenting with new approaches if your answer is wrong. I think that school can accelerate the rate at which you can learn CS, I can't deny this. However, I also think, from experience learning coding/algorithm/data structure-related topics online that I didn't specifically learn in school, if you have discipline/flexible thinking and are able to put in hard work by yourself, you can also make tremendous progress just using resources available online. I will say that my experiences in school helped me pick up new related topics, but I still had to put in the time and effort to understand the new topics/concepts and experiment with them personally. Whatever way you take will require you to consistently put in a large amount of hard work. But just need to take it step-by-step. Just wanted to give a more detailed perspective, hopefully it helps.
Wow, This is really good.
1. Good English
2. Entertaining
3. Super clear
and not indian that is something
super clear to you
@@osmantosun7647 racist
Good job at making a boring topic very entertaining and enjoyable to learn!
Thanks for going through the code line by line, I wish more people would do that. (Great video, Thanks)
Your illustrations are excellent, your level of enthusiasm is unmatched, and simply put, your explanations of the subject at hand are simple and concise. Thank you so much for this video, it has really helped me!
23:39 Is it just me or you're missing the line where you add the neighbors to the priority queue?
best Dijkstra video I have found so far
Make more of these. That was great. Lots of conceptual walk through in the beginning, white boarding, and then code at the end. Perfect man.
Man I love you, if I pass my finals it will be thank to you
Wow first video i watched on UA-cam for your channel i programming for such 6 months and i want say that your the best one in the whole field keep going my man plz❤❤
Best Video on Dijkstra's Algorithm
this is so good! this guys brain is clean
Wow don't usually comment much but this is awesome. We need more of this kinda stuff on UA-cam! Thanks!
I’ve noticed you’re not updateing your Set of “visited” nodes in the pseudocode. Besides that, you explain things very well. I’m subbing
Nice catch!
Nice catch!
should that be added inside and at the end of if(!visited) condition?
No. Should add after line 19, to add newSmallest to visited.
@@zhenghr Yeah it should be added before the inner for loop. You can allow multiple instances of the same node be in the priority queue at the same time, but you only want to
use the one with the minimum priority in your algorithm. Ideally you would use a priority queue that has a decreaseKey method impelmentation that will allow you to update
the priority and move it up in the heap, but java doesn't have that, so you can just have multiple instances.
Is this at mission park in fremont?
Overpowered had me Rolling....Damn this dijakstra guy OP!!!
Great content, love the energy. Kept me very entertained.
You are also forgetting that it will show you the "Path" from your start point, to any other point, which is shortest, if you sort the results in numeric order. Using the "last visited" list as your "ordering". (You take the last-visited with the smallest number, working backwards from your destination.) Thus, you know all shortest distances and paths, at the same time.
You jumped right into the "tree" comparison, which is a great representation of the shortest-path, as a map, but it doesn't tell you how to get from point A to Z, it just represents all points with the shortest paths. (Had you used other numbers, you could have ended-up with a full map, exactly like you had from the start. It just happened that, in this instance, you excluded two isolated paths which were horribly long, in all path instances.
There is also, rare instances, where you need to extend comparison, beyond "checked", when paths have equal values, as both paths can/may be pertinent. This specific formula will ultimately be bias, as it will always pick the "first shortest", as the second equally short path will be discarded, and that may have been a shorter path for another node-set, but it was discarded in favor of the first node set, which may have a longer path to another node.
But, I understand, it's not "your algo"... and this is only a simple demonstration of, "how it works in a perfect world."
Thanks , this is really good! I learned a lot
Hi. can u program the connectivity of a small dijkstra maybe with 5 nodes pls.
Which ide do you use
I can not see in what part of the code you mark as visited a node :o
best explanation and good english
Pretty good explanation
Need the code for codeblocks. Do you have?
Great video! just a suggestion... if you track the edges instead of vertices will make you replace totalcost and previous by only one variable (map)
when do you add a node to visited
Same question here... Have you found it? I supposed it should be inside and at the end of if(!visited) condition
This rocks. Keep making these videos dude!!!!!!
Question: Should not the edges have directions?
This was VERY chill
Thanks for this amazing content! ❤
this was amazing pal , thanks a lot
Love your enthusiasm!
Hey bro, do you gonna continue this or not, because you are soooo good at making entertaining but useful video like this. I'm looking forward for your new vids.
Really great. Hope to learn more. I like the way you explain
good style , loved the video!
really nice code explanation, keep going like that
This was awesome, thanks!
Very good!
Awesome job dude!!!
Thanks for this. It was a super helpful video!
your super hero thanks for explanation
Thanks bro!
Great content!
Many thanks for this video sir
This video is awesome indeed !
i need the code please
cool stuff bro !! keep it up !!
I wish I was as enthusiastic and passionate about Computer Science as you. I love computers and technology and when I understand the code it is fun... but I am simply not that smart and Data Structures is a struggle for me.
Bro (or gal), it's all about grind. Don't worry about what you think about how smart you are, that doesn't matter. Just grind until you achieve mastery, ez. I just treated this like a MMO since I used to play MapleStory a lot and I applied the same concepts of leveling up to mastering these computer science concepts. Theoretically anyone can get to a really high level in a MMO, and I'm pretty sure that for most people the same concept applies in learning computer science, just gotta grind grind grind
If it helps, it look me a long ass time to learn many concepts in computer science. the main advice is just to commit yourself to learn a bit daily -- it actually pays off in the long run, I learned from personal experience and I wish I knew that earlier. You feel like you're a genius when you finally get it but it's actually shadow clones of urself that committed to learning daily that got you that mastery, it was your hard work that got you there
@@chill_cs4627 wow, this actually really helps. I play a shit ton of video games and grind hard in all of em. I guess I have to put in that same work for CS. Thanks man.
@@scum3112 For full transparency, I learned this specific algorithm and also many other algorithms/data structures in school. School resources like lectures and collaboration with other students/teachers definitely makes the process faster since people are often working on similar problems. Besides engaging with these resources, I would say that a large amount of time is still spent doing individual work, just trying to solve problem sets, peeking at the answer key to see if you're right (if an answer key exists), and experimenting with new approaches if your answer is wrong. I think that school can accelerate the rate at which you can learn CS, I can't deny this.
However, I also think, from experience learning coding/algorithm/data structure-related topics online that I didn't specifically learn in school, if you have discipline/flexible thinking and are able to put in hard work by yourself, you can also make tremendous progress just using resources available online. I will say that my experiences in school helped me pick up new related topics, but I still had to put in the time and effort to understand the new topics/concepts and experiment with them personally. Whatever way you take will require you to consistently put in a large amount of hard work. But just need to take it step-by-step. Just wanted to give a more detailed perspective, hopefully it helps.
Why did you abandon UA-cam?
Thank you.
I need this code in VBA excel, please!!
Better to learn Python and work excel spread sheets using its module named pandas. It will give you more power and flexibility than VBA
good shit bro
wow this is good
Good video
Cool guy, Cool video!
ı Am so happy for your happy
God i wish i had profesor that are as good explainers as you, all i get is boring stereotyped nerds
thanks :)
Where is the code 😠😠😡😡
Why is this guy hanging out at a playground 👀
did anyone else rewind to see if he threw the bird?
Dijkstra was definitely op. HAHAA
Absolute DINGBAT, but I love it 😆
Men I love you!
you are so epic #epic
Did anyone notice how long his neck is?
this is a comment
you're so funny HAHAH
"boy dijkstra"? jeez
This code is totally useless and just doesnt work
I figured. Tried converting it into Java and its not working properly
@@yoeby It's pseudo code as presenter said
Eat a dog next.
tone down the ebonics, more content, less meaningless filler
Cool guy, Cool video!