How Dijkstra's Algorithm Works

  Рет қаралды 1,418,164

Spanning Tree

Spanning Tree

Күн бұрын

Пікірлер: 777
@beketmyrzanov1979
@beketmyrzanov1979 3 жыл бұрын
This video is ridiculously underrated ((
@vn5051
@vn5051 3 жыл бұрын
istg
@travelrealindia1
@travelrealindia1 3 жыл бұрын
Can't agree more
@thishandleistaken.
@thishandleistaken. 3 жыл бұрын
I noticed that people put everything between is and underrated
@myleshayhurst5187
@myleshayhurst5187 2 жыл бұрын
Truuee
@nayankumarbarwa4317
@nayankumarbarwa4317 Жыл бұрын
Criminally underrated, Brian Yu also teaches in Cs50 topics like AI and Web dev
@hongweichen3581
@hongweichen3581 3 жыл бұрын
Came from Computerphile's video after not understanding, and this is just so much better! You made advanced concepts so easy to understand for beginners like me, thank you.
@TainuiaKid1973
@TainuiaKid1973 2 жыл бұрын
Here's the implementation in Python kzbin.info/www/bejne/jJ-3nYprbJeGmZY
@Itachi.Uchiha.Offical
@Itachi.Uchiha.Offical 2 жыл бұрын
Same! Came from Computerphile, felt dumb, watched this, and understood.
@turuus5215
@turuus5215 2 жыл бұрын
Same, concepts should be intuitive for humans.
@dineshkumare1750
@dineshkumare1750 2 жыл бұрын
@@TainuiaKid1973 I also came here after seeing Computerphile video😂..
@nayankumarbarwa4317
@nayankumarbarwa4317 Жыл бұрын
This video is criminally underrated
@supersakib62
@supersakib62 Жыл бұрын
One thing I realized, visualization is more helpful to grasp a context than just reading about it.
@tegathemenace
@tegathemenace 4 ай бұрын
Realizing this a night before exam😂
@Mobin92
@Mobin92 Жыл бұрын
THANK YOU for the part at 6:28 ! Nobody else seems to explain how to actually find the path, and not just it's length.
@TaMarAaQ
@TaMarAaQ Ай бұрын
Exactly! I've been trying to figure that out for an hour, now I get it!
@Yell-Heah
@Yell-Heah 2 жыл бұрын
I've been agonizing over trying to understand this algorithm for a class for hours- and now I'm about halfway through this video, and I'm already feeling enlightened. It's FINALLY clicking. You're a lifesaver, mate!
@aries3690
@aries3690 2 жыл бұрын
I cant stress how amazing these animations are! You are a livesaver for "self-learners" like us :)
@acedev003
@acedev003 2 жыл бұрын
Absolutely!
@Yell-Heah
@Yell-Heah 2 жыл бұрын
fuck, dude, yeah. I don't learn anything from my college lectures- I need stuff I can pause and rewind, and my monkey brain does great with visual assistance. needing to basically self-teach myself all my CompSci, I don't wanna think about where I'd be without videos like this
@MichaelKingsfordGray
@MichaelKingsfordGray Жыл бұрын
Learn your real name first!
@MikhailFederov
@MikhailFederov Жыл бұрын
Calling yourself a self learner is meaningless. Everyone is a self learner.
@MichaelKingsfordGray
@MichaelKingsfordGray Жыл бұрын
@@MikhailFederov There is a more respectable term for self-taught: Autodidact.
@penguinjuice7543
@penguinjuice7543 Жыл бұрын
Absoloute life saver. Got taught this by a teacher who literally doesn't know computer science so videos like this are vital.
@dominiorrr6510
@dominiorrr6510 Жыл бұрын
I love learning based on examples and this is by far the best example of Dijkstra's algorithm I've seen so far. It covers a lot of aspects that might not be obvious at first. I haven't even learned Dijkstra yet, but it feels trivial to implement after knowing how simple graph algorithms like DFS or BFS work.
@ujjwalgupta4160
@ujjwalgupta4160 3 жыл бұрын
Kudos to the animation and explation.
@skidoodles
@skidoodles 4 жыл бұрын
For each vertex v: Dist[v] = infinite Prev[v] = none Dist source = 0 Set all vertices to unexplored While destination not explored: V = least valued unexplored vortex Set v to explored For each edge (v, w): If dist[v] + len(v, w) < dist[w]: Dist[w] = dist[v] + len[v, w] Prev[w] = v
@annadar008
@annadar008 3 жыл бұрын
Thank you to SpanningTree for the insight and thank you for the memo !
@abam9787
@abam9787 Жыл бұрын
What's the significance of Prev[w] when the latest update of Dist[w] is more important?
@AlumniQuad
@AlumniQuad Жыл бұрын
@@abam9787 6:24
@irrelevant_noob
@irrelevant_noob Жыл бұрын
@Skidoodles the last two lines should be indented more, to indicate they are both part of the "if true" branch of the conditional. Also, why not indent for the while loop?
@ayeyebrazof6559
@ayeyebrazof6559 Жыл бұрын
For each vertex v: Dist[v] = infinite Prev[v] = none Dist[source] = 0 Set all vertices to unexplored While destination not explored: v = least valued unexplored vertex Set v to explored For each edge (v, w): If dist[v] + len(v, w) < dist[w]: Dist[w] = dist[v] + len[v, w] Prev[w] = v
@jls-t3g
@jls-t3g Жыл бұрын
It's amazing that I recognized this voice immediately and realized this random video I picked is actually from Brain! Thank you for all the hard work you've done!
@MartinStaykov
@MartinStaykov Жыл бұрын
I don't think I've ever watched anything ever explained in a clearer way than this.
@ccsmooth55
@ccsmooth55 Жыл бұрын
Very helpful video. Im a Network Engineer and this is how OSPF works (because it uses Djikstras Alg.). Instead of towns, its nodes (routers) on a network.
@egalomon
@egalomon Жыл бұрын
I don't know why YT is recommending this to me 2 years after its upload, but I gladly clicked on the video! This is pretty much the only thing I remember from when I was studying Geoinformatics before I quit lol so it's a nice throwback for me. Very well explained too! 8:30 for something our professor needed like 2 weeks for
@VG-re1bj
@VG-re1bj Жыл бұрын
I see everyday at my work that when one is able to easily understand a concept or idea, either the subject is assumed to be easy or the person learning it assumed that all the merit is hers/his. … But if it takes a big effort to understand an explanation, then for sure it is always the fault of the one providing it. The fact that you can perfectly understand something does not mean you can easily explain it to others: *Explaining things is not trivial* and if you watch a video and get the idea straight away, please, do not automatically assume you are extremely clever but consider the effort made by the person providing the explanation. Thanks for this excellent video.
@CrescentDolluwu
@CrescentDolluwu Жыл бұрын
Besides how great of a job this video explains this concept, The absolute best part is the little blue robot blinking and looking around.
@qazizayad
@qazizayad Жыл бұрын
i have my Alevel Comp Sci paper 12 hours from now. I love you man. Youre a real life saver
@_pro_grammer_
@_pro_grammer_ 2 ай бұрын
Liked this video 2 years ago even without understanding what is explained. now after learning all those algorithms, revisited this masterpiece
@taumahL
@taumahL Жыл бұрын
Incroyable ! Mes profs n'ont pas réussi à ma faire comprendre cet algo en 1h et là je tombe sur cette vidéo ! Merci tu viens de sauver mon année !
@Adarsh_Tiwari
@Adarsh_Tiwari Жыл бұрын
This is almost similar to the CPM (Critical Path Method) that we study in Project Planning and Management. So beautifully explained
@TheMofRider2
@TheMofRider2 Жыл бұрын
Just wanted to mention that. You're absolutely right 🙂
@ZenoDovahkiin
@ZenoDovahkiin 6 ай бұрын
Ok but can we appreciate the happy music and the cute robot?
@JRunnerE
@JRunnerE 20 күн бұрын
I know right.
@alliepiper4772
@alliepiper4772 8 ай бұрын
I've been watching a few of your videos over the last day or so, and they're all just so good. You really have a knack for explaining complicated concepts with a clear, easy-to-grasp visual style. I think I'd describe your channel as "3blue1brown for computer science" :) I hope that comes off as complementary as it's intended. Kudos, and keep up the great work, I'm looking forward to more!
@curiosityinrush
@curiosityinrush 11 ай бұрын
So far the best and easiest explainations i have ever seen on YT yet for dijkstra;s Algo. Great work !!! Thank you :)
@ghanshyamtripathi221
@ghanshyamtripathi221 10 ай бұрын
not even kidding this is the best explanation/ visualisation one can ever get Thank you sir!!
@ajaysrinivas2814
@ajaysrinivas2814 Жыл бұрын
What a great explainer video! Please make more of algorithms. Thanks a lot for making this video.
@keitumetsemolefe3515
@keitumetsemolefe3515 Жыл бұрын
This is the best explanation on Dijkstra's algorithm I've ever come across!! 🙌🙌
@javel476
@javel476 2 жыл бұрын
Best video about dijkstra algorithm I have ever seen
@PrafulPrasad
@PrafulPrasad 2 ай бұрын
This is the best explanation I have found for Djikstra along with code.
@prashanthvaidya
@prashanthvaidya 3 жыл бұрын
The animation is just outstanding! A video on "how" you make these videos or just what inspired you to get started on this creative journey would be awesome. Keep up the amazing work. I have subscribed and also pressed the bell icon. :)
@ikuubi
@ikuubi Жыл бұрын
Most grandiose of respect, the other day I saw a video that jump straight to explaining the 'cost'. Me being a non technic person can't understand why a to b took so long, while you can just hypothenuse your way to b. But now it makes sense!
@HabunoGD1821
@HabunoGD1821 Жыл бұрын
I loved the video and your explanation. I read something out there and I want to share it 3:47 - 4:42 "It's important to note that this approach may have limitations and doesn't always ensure the most accurate result. In certain situations, it could lead to inaccurate estimates if the initial estimation doesn't precisely reflect the reality of the path. In the original Dijkstra's algorithm, continually updating estimations is crucial to ensure the accuracy of the shortest path."
@naughtiusmaximus
@naughtiusmaximus Жыл бұрын
To understand Djikstra, you need to understand Roche and Ves's Theorems. And then Geralt's theorems.
@quadroninja2708
@quadroninja2708 Жыл бұрын
I can't find anything about Ves's and Geralt's theorems. Could you please share some links to these?
@quadroninja2708
@quadroninja2708 Жыл бұрын
oh i see, it's a joke :-)
@naughtiusmaximus
@naughtiusmaximus Жыл бұрын
Its a Witcher joke :D
@repkins
@repkins 5 ай бұрын
Every time I encounter Dijkstra name, I think about Novigrad.
@fallegapyro
@fallegapyro 3 ай бұрын
😂😂😂
@bapynshngain
@bapynshngain Жыл бұрын
This was really very insightful. I wish more teachers would adopt this method of teaching because it is so much easier to understand than the traditional textbook method!
@ghad6799
@ghad6799 10 ай бұрын
While giving high quality lectures on white board is skill. Honestly, our education system is fine, just the skill issue of conveying an idea. Fucking hell my "international university" profs can't even speak English.
@curesnow6493
@curesnow6493 2 жыл бұрын
I am a virtual person and this is my first video so far, and it is very easy to understand!
@justsaadunoyeah1234
@justsaadunoyeah1234 6 ай бұрын
What????? Are you not real
@ozboomer_au
@ozboomer_au Жыл бұрын
A very helpful video. Just looking at code and some rambling explanation in a book made the algorithm as clear as mud in a beer bottle to me... but this video has made it so abundantly clear... and seeing how code is derived from it is more than helpful. Thanks so much for posting.
@pend_deletepatrickguarente4916
@pend_deletepatrickguarente4916 Жыл бұрын
By far the best video on this subject I have ever seen, FANTASTIC job with those animations they are really good!
@ssamship2275
@ssamship2275 Жыл бұрын
This video had actually insane timing. Just went over this in class.
@DontAddMe
@DontAddMe Жыл бұрын
beautifuly explained! Dont stop making these videos. You are the savior of cs students
@davewilson4493
@davewilson4493 Жыл бұрын
No doubt like many other people, I reinvented a variant of this particular wheel (in my case back in the mid 90s while writing "AI" code for NPCs at a games company). A guy on our team who actually liked writing in x86 assembly language had written a brute-force A-B routefinding function that was slow enough to take up meaningful time. After some playing around in C, I ended up zeroing in on the offspring of Dijkstra which fully explores the graph and finds the shortest routes to everywhere, and it was several orders of magnitude faster than the assembly guy's code.
@MattTrevett
@MattTrevett 20 күн бұрын
Why was it faster?
@davewilson4493
@davewilson4493 20 күн бұрын
@@MattTrevett I'm not *entirely* sure what my mate was doing since I couldn't get (or (more likely) couldn't be bothered getting) my head round his code. I've written in various assembly language before and since, but I never really got along with x86, and someone else's assembly code can be hard to read at the best of times, but I think his code was focused on getting from A to B and comparing path lengths, whereas my code just spread out from A and continually updated the shortest paths from A to everywhere yet found as it went, which meant it could simply rule out and not waste time exploring any possible path that was clearly worse than something it already knew about, and that avoided a huge amount of pointless probing. I'm not even sure what kind of termination condition he had - for my code it was easy - it just stopped when it found the shortest route to everywhere. To be honest, once I had played for a morning and got better results than he had, and then tweaked things further in the afternoon, even with my distinctly limited social skills it seemed best not ask too many questions, especially as I liked him. It's so long ago, I can't even remember how he ended up writing his code in the first place given that he didn't need it and I did. Possibly it was the result of one of the dreaded meetings with our project manager where I tried to tune out and think about other things as much as possible in order to minimize my entirely justifiable urges to strangle him (the project manager, not my fellow coder).
@a.nataliia
@a.nataliia 5 ай бұрын
After CS50 that's one of my favourite voice on KZbin ☺ Thank you Brian for your great work!
@tongluo9860
@tongluo9860 3 жыл бұрын
I am taking CS50 Edx class, I recognized this voice. It must be you Brain. Wonderful job explaining this concept, just like you did in CS50!
@grv7437
@grv7437 Жыл бұрын
From Google Maps to Project Management (CPM) the applications of this algo are literally limitless
@___vandanagupta___
@___vandanagupta___ Жыл бұрын
The amazing quality of your videos is super underrated
@ChazWinter
@ChazWinter 11 ай бұрын
We are covering this in class right now, and my class loves this video.
@saipan1970
@saipan1970 Жыл бұрын
The ambience,sound the illustration and putting the main logic behind this algorithm : Clarity and transparency are optimum.Please do make videos like this for every important algo,a request.Refreshing..
@stith_pragya
@stith_pragya 11 ай бұрын
Thank You So Much for this wonderful video...........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@rpgprime
@rpgprime Жыл бұрын
By far THE best graphical explanation of Dijkstra's algorithm and it covers improving it to get the actual path 👍
@bscorvin
@bscorvin Жыл бұрын
My professors love bringing up the traveling salesman problem and then not elaborating, so this was fun. Thanks!
@chrisogonas
@chrisogonas Жыл бұрын
Excellent illustration of the Dijkstra's algorithm. Superb!
@artyCrafty4564
@artyCrafty4564 Жыл бұрын
Not only the video is underrated but the whole youtube channel is underrated. best of luck you spanning tree. This is the future of education. I feels so good when i look up to such unique educational channels.
@KingstonFortune
@KingstonFortune 2 жыл бұрын
This is so much better than some other ones I already saw....and that was a nice tip at the end, referring to the negative value.
@minhlaburninghihi5627
@minhlaburninghihi5627 4 жыл бұрын
Coolest video on Dijkstra's ever. So easy to understand, thank you so much.
@BrianOSheaPlus
@BrianOSheaPlus Жыл бұрын
Excellent video. Clear and concise description of Dijkstra's algorithm.
@SaidElnaffar
@SaidElnaffar Жыл бұрын
I am sharing this link with my students in the Data Structures course -- Keep it up!
@shufflecat3334
@shufflecat3334 Жыл бұрын
Very well explained! The only feedback I can provide is that I personally found the background music annoying. The wind instrument (flute?) seemed a bit obnoxious and interrupted my focus on the concepts being presented pretty often. Kind of hard to know that sort of thing ahead of time, but that's just my personal experience of the video. :)
@fosatech
@fosatech 11 ай бұрын
The music makes me want to kms
@hairold5680
@hairold5680 11 ай бұрын
Agreed, itd be better without it
@firebraingames
@firebraingames 3 жыл бұрын
Great way to get a feel of Dijkstra's Algorithm
@anilsuyal
@anilsuyal 6 ай бұрын
What an amazing explanation, that too with a visualisation. Thank you so much. Please keep posting such Visualisations of algorithms.
@ghostfjdgcsusvsgsj
@ghostfjdgcsusvsgsj 2 жыл бұрын
best explanation of dijkstra's algo so far
@sankalpspatil4890
@sankalpspatil4890 2 жыл бұрын
After watching a few videos on this, for some reason the robot and town animation made the concept finally click. Thanks!
@jibachhyadav7241
@jibachhyadav7241 4 жыл бұрын
Thank you. please cover some topic in Dynamic Programming too!
@SpanningTree
@SpanningTree 4 жыл бұрын
See kzbin.info/www/bejne/pZrJf2CPi9Glp5o for an introduction to dynamic programming!
@rodrigo-tj1gf
@rodrigo-tj1gf Жыл бұрын
You need to post more, those videos are freaking good
@opinions8731
@opinions8731 Жыл бұрын
Damn, I recognised Brians' voice from CS50AI. Respect for your joy of teaching man!!
@allblueandyou
@allblueandyou 2 ай бұрын
FINALLY understood Dijkstra!! thank you so so much!
@for_whom_the_bell_tolls
@for_whom_the_bell_tolls 3 ай бұрын
Wow, Brian is brilliant, such a quality explanation!
@maxdemian6312
@maxdemian6312 2 жыл бұрын
The best video on KZbin on this subject
@adrienw4704
@adrienw4704 Жыл бұрын
very interesting! i love how you voice over your code. you make it super understandable!
@platypi_otbs
@platypi_otbs Жыл бұрын
I saw this in a class in 1994 or 5. This has always been my favorite algorithm I've ever learned. Nice video
@sherazdotnet
@sherazdotnet Жыл бұрын
Very nicely explained and graphics effect are perfect as well. If you pay attention to what the author is speaking, you'll notice that he used proper terms like "go to the town we haven't visited". In other words, only visited if its not visited. In other words, keep track of visited nodes. Very nice explained.
@jessojohn9226
@jessojohn9226 Жыл бұрын
i never subscribed a channel just watching one video before..You are so good
@ajaythombare1947
@ajaythombare1947 Жыл бұрын
Bro why this video has very less likes these 8 min have huge chunk of information
@ayushman_sr
@ayushman_sr 2 ай бұрын
Bestest Dijkstra's algo explanation
@koomky
@koomky Жыл бұрын
I used the Dantzig method to do this. Now I understand a new method, thanks
@elijahdecalmer613
@elijahdecalmer613 Жыл бұрын
Very great visualisation, thank you
@smikkelbeer7890
@smikkelbeer7890 Жыл бұрын
By far the best explanation on the internet. Thank you
@Isabella-nh5dm
@Isabella-nh5dm 3 ай бұрын
Excellent explanation of an algorithm that can be difficult for some to understand.
@tyronefrielinghaus3467
@tyronefrielinghaus3467 Жыл бұрын
Also...a great voice too. Very clear.
@soyandoat4106
@soyandoat4106 3 жыл бұрын
Please continue to do more of this video! Thank you so much for your content!!
@Mercury2wo
@Mercury2wo Жыл бұрын
Fantastic video!! Am watching all your videos back to back
@johnle7705
@johnle7705 3 жыл бұрын
This channel is a germ!! So glad I found you!
@How_to_make_a_paper_plane
@How_to_make_a_paper_plane 4 ай бұрын
not germ it's bacteria.
@SimonTheDankOne
@SimonTheDankOne 2 жыл бұрын
I have a shortest path problem that I am currently working on, and even though I am familiar with the Dijkstra algorithm this somehow just made me instantly realise of my mistake in code. Gracias
@nielsdaemen
@nielsdaemen 10 ай бұрын
Best explanation of Dijkstra's Algorithm!
@finditout6191
@finditout6191 2 ай бұрын
As soon as i heard the voice i knew it was Brian Yu.
@megamaser
@megamaser Жыл бұрын
The first time I figured out this algorithm, it was by reading code. That worked, but took way longer than watching this video. This video is very nice. It is clear and touched the most important points. You've made an intuitive understanding of Dijkstra's algorithm easily accessible to anyone. The only thing I would add to this video is at least a brief mention that you would put the data in a heap. This could be a nice segue into a separate video about heaps.
@nawalkhawar7602
@nawalkhawar7602 6 ай бұрын
you're videos are extremely helpful. thank you for making these! Also love the robot
@mdkhaledhossain996
@mdkhaledhossain996 Жыл бұрын
this is just mindblowing, keep creating content like this, you will reach to million subscriber within no time
@dailyamazingshortvideos
@dailyamazingshortvideos Жыл бұрын
This is the best explanation,one can ask for. . Waiting for more such algo explanations
@rockstarpesu
@rockstarpesu Жыл бұрын
Such a great way to explain the complex topic. Thanks a lot. 😊
@areezmody6916
@areezmody6916 Жыл бұрын
cleanest explanation
@magik0630
@magik0630 3 жыл бұрын
Excellent walkthrough. 4th video down and I finally get it. Thanks
@nojoodothmanal-ghamdi1026
@nojoodothmanal-ghamdi1026 3 жыл бұрын
How this video have less than 30k views!! It deserves ar least 1M, I really understood it so well thank you so much
@Gooloso98
@Gooloso98 3 жыл бұрын
nice video, especially the negative values and heap
@demonking2526
@demonking2526 2 жыл бұрын
Very great explanation, I just followed along Dikstra's algorithm in pseudo code and implemented pathfinding in Unity using it. This visual tool really helps explain the algorithm at hand! Great work.
@davngo
@davngo 3 жыл бұрын
Awesome explanation, short and to the point.
@rocket007
@rocket007 Жыл бұрын
Really cool stuff. I am also happy about the snippet code algorithm at the end
@HuzaifaKhan-iy5qj
@HuzaifaKhan-iy5qj 5 ай бұрын
I didn't even completed minute of the video yet, i've subscribed the channel.
@JayantKumarZ
@JayantKumarZ Жыл бұрын
my god this is amazing!!!!! How expert you must be at your art to be able to simplify to this extent
@aakashdp
@aakashdp 4 жыл бұрын
thanks! easy to follow. explained in simple terms.
@NeverMyRealName
@NeverMyRealName 5 ай бұрын
you should also include the code slowly building as you explain each aspect of the algorithm steps.
@gutzimmumdo4910
@gutzimmumdo4910 Жыл бұрын
perfectly explained, intuitive well ordered and perfect example. great work
@PeakWuNeverSurrender
@PeakWuNeverSurrender 4 ай бұрын
Nice tutorial with clear explanation
The hidden beauty of the A* algorithm
19:22
Polylog
Рет қаралды 898 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 210 МЛН
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 51 МЛН
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 44 МЛН
Understanding B-Trees: The Data Structure Behind Modern Databases
12:39
A Comparison of Pathfinding Algorithms
7:54
John Song
Рет қаралды 721 М.
how NASA writes space-proof code
6:03
Low Level
Рет қаралды 2,3 МЛН
Dijkstra's Algorithm - Computerphile
10:43
Computerphile
Рет қаралды 1,3 МЛН
What Is the Pigeonhole Principle?
8:23
Spanning Tree
Рет қаралды 3,4 МЛН
The Most Important Algorithm in Machine Learning
40:08
Artem Kirsanov
Рет қаралды 520 М.
3.6 Dijkstra Algorithm - Single Source Shortest Path - Greedy Method
18:35
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 210 МЛН