Thank you so much ! It's just pretty amazing how we spent 2 sessions of 2 hours in an amphitheatre trying to learn this and turn the algorithm by following the literal code, and here I got it in literally 5 minutes. I'm so eternally grateful.
Wow my professor took about 20min to explain this and I didn't really get it. I thought it was hard, but after watching your video in 1/4th the time I am able to explain to others how to run the algorithm, and truly understand it. Turns out it isn't hard at all - just need someone good like you to explain it! Thanks a ton.
i was litterly in a middle of a half an hour exam and i didnot know what was this algorithm i opened youtube and found you and litterly in less than 2 mins i understood it and solved the exam thanks bro ❤❤
Thank you so much for your fantastic work! I found learning these techniques by merely reading textbooks and listening to university lecturers pretty bland and counter-intuitive, but fortunately your visualized examples have given me a much clearer picture. in fact I started to understand the all the previously incomprehensible texts and pseudo-codes just after having seen your videos, and I would very much appreciate if you have any plans in the future to share further videos on NP-complete problems and approximation algorithms. Have a nice day!
I think this might be one of the best explanations I've seen, I just couldn't understand why we'd need to perform more than 1 iteration. But it makes sense because we don't know how to learn the node, hence, the requirement for more edges. We may finish early, but we need to discover all the possible shortest paths before that.
Instead of only outputting the distance, it would be nice to add that, for each node one can keep track of the parent node where the current shortest distance is found, then traverse backwards from the destination to the source to obtain the shortest path.
Bless. Thank you so much. This makes WAY more sense than the pitiful amount of explanations on it in my class. I have my final in an hour and a half and you might have just saved me a world of hurt.
Good, easy, short explanation. These algorithms aren't hard, but everyone makes them really hard by making videos that are way too long and with unnecessary information. Show the algorithm first, then the detail. Good job!
Hey Michael! Your videos are really time saving and awesome! It would be a great help if you made such videos on string matching algorithms like KMP, Rabin Karp, Finite Automata and Naïve as well!
i've watched your vid for about 3 mins or something and that makes me understand the algo more thoroughly than what my professor did at the previous class for an hour! Lmao =DD
Kinda forgot the cycle detection there lad. If the algorithm still finds a better path after n-1 iterations a negative cycle must exist. Which is one of the great powers of Bellman-ford's.
I should have mentioned that, apologies. Take a look at the code here, it should help: github.com/msambol/youtube/blob/master/shortest_path/bellman_ford.py#L44-L52. Thanks for watching!
Quick note others pointed out: Pseudo code forgets to actually implement prev. (My guess is, during the confusion of trying to make procedure update look mathematically formal instead of writing understandable code): instead of a min, equivalently do: sum = dist(u) + l(u, v) if sum < dist(v), then dist(v) = sum rev(v) = u (don't dist(u) +l(u, v) potentially twice per update, optimize!!!)
1:37, the picture is good (red arrow representing the inspected edge B->A), but the narrative is somewhat misleading. "Getting to B..." , more likely getting to edge B->A, we see that dist(B) = inf, so dist(A) don't get updated. Nice vid, tho, tx
you can ierate one more time after V-1 iterations, and if any edge is relaxed there is a negative cycle and yozu can return None, or neginf or whatever, this way it will work on graphs with negative cycles
7 years ago, better explanation than any modern source
Still better than anything else from 2023 😂
yeah for real
now, 8 years ago
because every mf decides to hide the algorithm behind opaque notation
9 and still true…
you got me through my undergrad DS&A course and now i've come back to you for interview prep. thank you!!!
Crush it my dude
@@MichaelSambolplease upload more videos
Tomorrow is my exam and this has saved my day . Thanks a lot man🙌
+Bharat Singh Me either :p
My exam is in two hours.
I'm giving my exam.
You take an exam and not 'give' an exam. :)
what if he was at that moment handing in his exam?
Thank you so much ! It's just pretty amazing how we spent 2 sessions of 2 hours in an amphitheatre trying to learn this and turn the algorithm by following the literal code, and here I got it in literally 5 minutes. I'm so eternally grateful.
I love how universities teach computer science like social studies
it's unbelievable how well you explain the algoritms
You are a saint. Your small lessons provide more value than several hours of lecture by my prof. Keep it up.
Only video on Bellman-Ford that cemented my understanding.
You're the best algo teacher I have ever seen sir
🫡
This guy is the best in this kind of content, clear speech with concise teachings.
🙏 BLESS 🙏
Wow my professor took about 20min to explain this and I didn't really get it. I thought it was hard, but after watching your video in 1/4th the time I am able to explain to others how to run the algorithm, and truly understand it. Turns out it isn't hard at all - just need someone good like you to explain it! Thanks a ton.
I've have exam in half an hour and here I am watching this video! Thanks Man!
Hope you managed to pass 👍😀
i was litterly in a middle of a half an hour exam and i didnot know what was this algorithm i opened youtube and found you and litterly in less than 2 mins i understood it and solved the exam thanks bro ❤❤
bruh
Thank you so much for your fantastic work! I found learning these techniques by merely reading textbooks and listening to university lecturers pretty bland and counter-intuitive, but fortunately your visualized examples have given me a much clearer picture. in fact I started to understand the all the previously incomprehensible texts and pseudo-codes just after having seen your videos, and I would very much appreciate if you have any plans in the future to share further videos on NP-complete problems and approximation algorithms. Have a nice day!
More on the way, thank you for watching.
I've never seen better explanation about Bellman-Ford than this video. Thanks a lot!
Thank you!
I finally understood Bellman-Ford. Thanks for the working example.
You have the lightest and best understandable pseudo-code i've seen !
Thanks a lot !
jeez if the professor at our uni could explain it this way. simple and straight forward to the point. thanks a lot
I have a discrete mathematics test coming up, and thanks to you, now i understand better. Thanks¡
thank you so much...!!! 😢😢 i had tears in my eyes....it cleared completely all my doubts...
Straightforward and clear demonstration of the algorithm. Your video helped me a lot. Thanks :)
You are welcome! Thanks for watching.
Thanks a lot man...I am going for exams and these 5-minute video will definitely add some marks to my paper...
I think this might be one of the best explanations I've seen, I just couldn't understand why we'd need to perform more than 1 iteration. But it makes sense because we don't know how to learn the node, hence, the requirement for more edges. We may finish early, but we need to discover all the possible shortest paths before that.
This should help too: github.com/msambol/dsa/blob/master/shortest_path/bellman_ford.py
This helped me a lot with my exams. Thanks a lot brother. You are a savior 😅
Thanks for the video. It'll help me get through my homework and (maybe) final. I'll show this to anyone else stuck on this problem.
Thank u so much. It's the best Bellman Ford Descrption Video I've ever seen!
Instead of only outputting the distance, it would be nice to add that, for each node one can keep track of the parent node where the current shortest distance is found, then traverse backwards from the destination to the source to obtain the shortest path.
Very important, it is also missing in the pseudocode, the prev attribute is set to nil initially, but not changed in the update procedure
This has very much saved my day for my final tomorrow. Thanks, Michael.
Glad I could help! Good luck on your final, Brandon.
@@MichaelSambol Fantastic Michael. This video's helpful for me and glad I watched this.
Bless. Thank you so much. This makes WAY more sense than the pitiful amount of explanations on it in my class. I have my final in an hour and a half and you might have just saved me a world of hurt.
Very eloquently demonstrated, Michael!
I am headed to my exam rightnow ...You saved my life
Doing the exact same thing now!
New knew Bellman Ford algorithm was so easy. Great content man 🔥
Thank you! Already shared your channel with my friends. We have design & analysis of algorithms exam tomorrow and your videos are short and precise.
Thanks Very Much, I Really Appreciate It. I have watched many videos on this topic in the last hour but You explained the BEST. THANKS, Michael!
Good, easy, short explanation. These algorithms aren't hard, but everyone makes them really hard by making videos that are way too long and with unnecessary information. Show the algorithm first, then the detail. Good job!
Great excercise I like it..it's very useful for us and everybody...everybody can see this and learn this excercise easily from this channel.
If only lectures were as easy and straightforward as your tutorials
No negative cycle detection int this video, which is a key part of Bellman Ford!!!
Hey Michael!
Your videos are really time saving and awesome! It would be a great help if you made such videos on string matching algorithms like KMP, Rabin Karp, Finite Automata and Naïve as well!
Thank you very much. I couldn’t find anything useful on Russian, so I found this video and it help me
Thank you, relaxing edges seems now so easy when drawn instead of all these number and steps in algorighms!
Thank you! much better and simpler than so many ppt slides
Nice!
You may want to add how to check for negative-weight cycles.
for sure something that's missing from this video. Especially when this is a big advantage for this algorithm
this is absolutely the best explanation for me who does not come from CS school. Thank you, now I can beat them lmao
Thaaaaaaaaanks man............you saved my life...it's the best explanation of bellman-ford algo for me
I LOVE YOUR VIDEOS!! I learn so much when you explain short and simple- THANK YOU!
Tomorrow is my exam and this has saved my day . Thanks a lot man :)
Clear and easy to understand, great work. The only thing I'm concerning is that the speaking is a little bit to slow.
Great video for a refresher!
thank you!
You must have spent a huge amount of time on drawing all these pictures. thank you so much!!!
Excellent explanation. Very concise.
This is real eduation. Today's over 1k students' CS class with low pass rate can only be called a filter, it is not a class!
i've watched your vid for about 3 mins or something and that makes me understand the algo more thoroughly than what my professor did at the previous class for an hour! Lmao =DD
A comprehensive short and sweet video
Than you!!!
You are a god for every cs student! All hail Michael!
Wow that's amazing. 5 mins video wins 20 slides of our lecture
Thanks a lot man, Tomorrow is my exam you have saved my day ......
nothing will ever beat this vid
Very very veryyyyy great for my prepare to exam tomorrow. Thank you!
better than my uni lecture. Thanks!
Very clear and informative. Thank you.
Great Illustration Sir. Thanks for the video...!
Love this! I've been stuck for hours
Kinda forgot the cycle detection there lad. If the algorithm still finds a better path after n-1 iterations a negative cycle must exist. Which is one of the great powers of Bellman-ford's.
No algo can find shortest distance if there exists a negative cycle
@@it41tanmayaron26 Yes but it can detect one and return a message stating that one exists and that the shortest path is -∞
Thank u. u r the god of teaching algorithm.
this video helps a lot for my understanding.. finally...
You juste saved me one hour before my exam, thank you so much :D
Woow, You saved lot of time. Thank You very much.
really good explanation! thank you, Michael.
thanks so much your method of teaching is very detailed..thanks again for making this video!
thank you! great tutorial!!! Please keep doing what you do. a suggestion to add how to find/check on the negative cycles.
I should have mentioned that, apologies. Take a look at the code here, it should help: github.com/msambol/youtube/blob/master/shortest_path/bellman_ford.py#L44-L52. Thanks for watching!
Cant be better. Thanks a lot.
Big thumbs up. Very well explained!
Vidéo de qualité avec des sous-titres en Français écrits avec soin. Merci :)
wow your explanation is the best bro keep it up
Thanks! Great and brief video :)
Exam in 2 hours. Saves my day!
Great explanation, very easy to understand. Thanks so much!
thanku sir much simpler explanation and exact point
The best video yet.....
Very nice explanation. Thanks a lot. Thumbs UP.
Great videos, I encourage you to make a full library of these
genius, its clear and easy to understand, thanks man
Quick note others pointed out: Pseudo code forgets to actually implement prev. (My guess is, during the confusion of trying to make procedure update look mathematically formal instead of writing understandable code): instead of a min, equivalently do:
sum = dist(u) + l(u, v)
if sum < dist(v), then
dist(v) = sum
rev(v) = u
(don't dist(u) +l(u, v) potentially twice per update, optimize!!!)
great video, short and to the point
It's such a perfect explanation. Please make a video on Master's Theorem.
Awesome simple explanation, thanks!
Best tutorial out there! Good work mate!
i have such a limited attention span you are perfect!
Thank you soo much man. You saved me.. (tomorrow is my exam)
Clear and concise video, thanks!
1:37, the picture is good (red arrow representing the inspected edge B->A), but the narrative is somewhat misleading. "Getting to B..." , more likely getting to edge B->A, we see that dist(B) = inf, so dist(A) don't get updated.
Nice vid, tho, tx
finally! a non indian accent bellman ford video!!!
Thanks sir for giving this great explanation .
Fast accurate videos. Thank you!
+FolksGames Glad you enjoyed. Thanks for watching.
In the algorithm you have a prev() table that you don't update next neither you use it on the animation. Other than that great job
Great Video 🙌🙌🙌 Thanks It's been really helpful
It is really good and concise ! Thank you
Nice greetings from Germany. Its a very good video :) Thank you
It's an awesome video mate. Thank you very much..!
you can ierate one more time after V-1 iterations, and if any edge is relaxed there is a negative cycle and yozu can return None, or neginf or whatever, this way it will work on graphs with negative cycles