+1 for the "x in 100 seconds... but wait there's more!" format. Getting a brief overview of the concepts followed immediately by a more in-depth implementation of those concepts is a fantastic way to structure the video.
@@Fireship Please make this type of video with a slow pace. Your teaching style is good. but just take longer and bit slower-paced videos. Give some time to grasp the concept along. However, like these videos. Thanks!
Fireship Yeah, I think u definitively should do that. Some of your viewers want more in-depth information and with a bit more time to consume it. So I think it is a good Idea to do a 100 secs version and a in-depth version. Anyways I really appreciate your work and passion. Thank your for your vids. Have a nice day. :D
3:25 "go slowly and explain every step!" while going on for 10½ minutes like an absolute rap god xD Had to watch the video back to back twice and still only got half of it, but loved all of it ^^
100 seconds of different time complexities as in the Big-O-Notation would be awesome. I tend to forget how they work when I haven’t dealt with them in a while (same with Regex) so I think a 100 second reminder would be perfect!
In 10 Min, I came out with a better understanding of graphs then I have in the previous attempts (which was a lot). Thanks for making graphs make sense.
This is really nice. Also try making the speed 2x and watch it like 3 times if you want to overclock your brain. But it could cost you a few more seconds tho :/
You've made this one understandable enough for a person who hasn't yet got to this part of programming. Solid introduction to the topic. Didn't get everything, but the idea is very clear. Cheers!
If only I knew that Javascript was this complex before I would have paid more attention to it. I'm a backend developer and thanks to your videos I have been slowly getting better and more interested in Javascript. Awesome work as always keep up these explosive contents!
I can't believe I'm watching this in my leisure time. This is quality content! Keep them coming. Would love to see more algorithms explained like this. Thanks buddy, you're a rockstar! :)
One thing worth knowing about DFS is that while it's most commonly implemented with recursion, you can actually implement it the exact same way as BFS as shown in the video except by replacing the queue with a stack instead. After understanding it, I thought it was a bit more intuitive and easier to remember (since two birds with one stone). This is also good to know in case an interviewer asks about the potential for stack overflow.
Fatastic .... 1 minute .... my full page is covered with expensive knowledge ..... How good you are ❤. It make me think of how much knowledge creator fed in you..... brilliant
0:26 The notation you used actually indicates it is a bi-directional graph, meaning directions in both ways. An undirected graph would have no arrowheads (since arrows indicate direction), but simply a line.
I had to figure all this stuff out on my own when trying to implement A* pathfinding in a game I made. The tutorial I followed used an adjacency matrix. But my game maps were 1000 x 1000. The whole thing crashed when it tried to build the matrix. So I manually went through and converted the graph to a list structure, so only nodes with edges were stored. I guess I could have saved the whole thing to the hard disc instead of keeping the whole graph in memory at run-time, but I learned a lot fixing that problem.
i love your channel for a long time. content and form are premium. i confess i was not so engaged with 100 secs videos. seemed hushed. this approach with 100 secs as intro to something more in depth following is perfect to me. thanks for such great work.
This video is awesome! I love seeing these 100 second videos pop up in my feed, they’re always fantastic. One note though: an adjacency matrix does have very bad space complexity, but part of the reason for that is that it’s making the trade-off for time. It actually is quite time efficient to check specific connections [O(1)], so it just depends on what your program is prioritizing or needs.
Yes, I would definitely like more videos with technical interview prep focus. I'm probably a ways off of an actual interview, but it's nice to mentally prepare proactively because I'm such a good procrastinator!
wow so fantastic, so fast and all necessary details/CRITICAL details are covered with real time application. This really makes me so excited to dig deeper into the topic. Keep posting more informative videos like this. And could be also attach code in the video description in popular 3 languages like python, Java, c++ along with javascript
For your BFS implementation, I think worst case time complexity ends up as O(E + V^2), because the shift() method is (probably) O(N) for N == length of the array. To achieve O(E +V) A "real" queue implementation is needed, that implements enqueue()/dequeue() in constant time.
Thanks for taking the time to make this great video! I'm doing interview prep, like many others. There was a problem I ran into while recreating breadth first search graph traversal: the enqueue in the 'bfs' method was happening regardless if the destination was in the visited Set so I ran into an endless loop scenario. I removed that and just kept the enqueue in the 'if not visited' statement and I get the correct answer. Please forgive if I just missed some of the code in the tutorial and thanks again for the great video/succinct example!
Been enjoying your content for years, Jeff. Wish I had you when I studied CS :) Suggestion: Sort algorithms for DBs and why they're useful in different scenarios.
This is so interesting to learn about... Lately all I have been doing is writing layout with flex and adding event listeners .. and boii , I hate doing that..
Please provide us with more algorithm, data structure videos which also focus on the interview perspectives, like this video did. Love your efforts man!!! Thanks
It feels so bad that you upload this video right now. It's a great video and in explains the problems clear. But for a school assignment I had to Depth First Search a specific list of nodes and links. I did need a couple of hours to figure out how to this works. I nailed it but not as clean as you explained the problem and the solution. Thanks for the great video's you make!
Make more such videos like using some development related use cases where this algorithms can implemented , everyone will love them as the you breakdown the problem into subproblem is awesome.👍👍👍👍😁
Awesome video! 1 correction though @ 3:01 the graph does contain cycles. A cycle is a non empty trail where the only repeated vertices are the first and last vertices. Hence that graph contains multiple cycles.
Do you want to see more videos with a technical "interview prep" focus? Usually I cover practical projects, so curious to know what you think...
YES please! Much love!
I like this videos more than others
Yes interview preparation, this one is awesome
YEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Yes!
I would love more algorithms, data structures, and ML too!
Thanks, with my 6 years+ experience as a Frontend-dev, I now feel like a junior-dev again 😅
you just said it!
+1 for the "x in 100 seconds... but wait there's more!" format. Getting a brief overview of the concepts followed immediately by a more in-depth implementation of those concepts is a fantastic way to structure the video.
I would’ve needed this for my computer science class 😫😫 Once again your content is the high quality learning we all needed
In my case , it is right on time.
This is a basic topic in a first semester computer science class.
IF CS WAS A MOVIE THEN
THIS MAN YOU WOULD BE THE AUTHOR
Movies have script writers and directors as key creative roles. No authors.
100%
I'm writing a screenplay titled "CS - The Movie" ;)
Fireship, I'll definitely watch it.
Greetings from Tanzania 🇹🇿
another Ali gate fan here
So glad. While these X in 100 seconds videos are great for some topics, this definitely needed a longer one.
Thanks! Yeah, trying to decide if I should make them as completely separate vidoes
Fireship I’d certainly love that! But honestly, anything you put out is gold. You’re on fire.
@@Fireship Maybe release them simultaneously so that people who want can watch both and there is a higher chance of one going viral.
@@Fireship Please make this type of video with a slow pace. Your teaching style is good. but just take longer and bit slower-paced videos. Give some time to grasp the concept along. However, like these videos. Thanks!
Fireship Yeah, I think u definitively should do that. Some of your viewers want more in-depth information and with a bit more time to consume it. So I think it is a good Idea to do a 100 secs version and a in-depth version. Anyways I really appreciate your work and passion. Thank your for your vids. Have a nice day. :D
Definitely want Algorithms, Design Patterns and Data Structures 🙏
I really appreciate this format especially the combination of 100 seconds & beyond 100 seconds
Every time the outro music fades in, I can literally feel that 'i get it now' rush ! Thanks a lot and keep up the outstanding work !!
3:25 "go slowly and explain every step!" while going on for 10½ minutes like an absolute rap god xD Had to watch the video back to back twice and still only got half of it, but loved all of it ^^
That was sweet!
Please create a playlist of data structures and algorithms.
Great content, keep it up 👍🏻.
🔥🔥🔥
This video is more than worth of my three year CS degree 🔥
100 seconds of different time complexities as in the Big-O-Notation would be awesome. I tend to forget how they work when I haven’t dealt with them in a while (same with Regex) so I think a 100 second reminder would be perfect!
In 10 Min, I came out with a better understanding of graphs then I have in the previous attempts (which was a lot). Thanks for making graphs make sense.
For anyone that didn't see how you get the steps at 9:49 it's `DFS found Bangkok ${visited.size} in steps`. Use the visited size.
Some people were really born to teach.Congrats
This is really nice. Also try making the speed 2x and watch it like 3 times if you want to overclock your brain. But it could cost you a few more seconds tho :/
😂
Make all 100 seconds videos like this, a 100 seconds explaining everything simply, then go into details...this is awesome
The format of these videos is brilliant! 100 seconds intro and then, if you want it, some practical implementation.
Very clear instructions. I only know Python and I completely understood your coding process with Javascript.
Greatest explanations i've ever seen on TH-cam hats off @fireship
Wow! This is awesome 🙌 would love to see more of this!
5:32 Javascript destructuring in 100 seconds
more like JavaScript de-structuring in 100 milliseconds.
fireship does youtube like no other channel
the "basics in 100s + deep dive" format is a blast, man
You've made this one understandable enough for a person who hasn't yet got to this part of programming. Solid introduction to the topic. Didn't get everything, but the idea is very clear. Cheers!
this makes so much more sense than any CS video i've ever watched
Got an interview in 5 min. Thx!
Finally somebody explaining Algortithms with Javascript Sets and Maps! Thank you.
Thank you!This taught me more in a few mins than my professor in hours!
Hellllll I loved this video. THANK YOU!!! This channel is seriously awesome. One of the best coding channels in the entire internet. ❤
Loved this. 100 seconds to grab attention and beyond for serious developers
I really enjoyed working with these data structures and algorithms in JavaScript. I would love to see more of this!
If only I knew that Javascript was this complex before I would have paid more attention to it. I'm a backend developer and thanks to your videos I have been slowly getting better and more interested in Javascript. Awesome work as always keep up these explosive contents!
I needed this for my computer science class , your content is the high quality learning we all needed
It's crazy how much I learn from your videos in such a short time. Thanks you are the best.
Your channel is sooooooo awesome, congratulations! One question that I have: Is the set used at the DFS function a memoization technique?
I didn't know I needed a fireship video about cs theory until I watched one. Plz do more
I can't believe I'm watching this in my leisure time. This is quality content! Keep them coming. Would love to see more algorithms explained like this. Thanks buddy, you're a rockstar! :)
I love this! Very clear explanation. I would love a mix of project videos and interview ones like this.
Bro! The way you explained this and the neatness of your codes I could grasp the Graph theory quickly. Please make a series.
One thing worth knowing about DFS is that while it's most commonly implemented with recursion, you can actually implement it the exact same way as BFS as shown in the video except by replacing the queue with a stack instead. After understanding it, I thought it was a bit more intuitive and easier to remember (since two birds with one stone).
This is also good to know in case an interviewer asks about the potential for stack overflow.
Fatastic .... 1 minute .... my full page is covered with expensive knowledge ..... How good you are ❤. It make me think of how much knowledge creator fed in you..... brilliant
This is great. Best implementation of DFS / BFS I have seen in a while. Thanks.
This was amazing! Great speed, great length, great everything!
Not gonna lie, have an interview coming up and this was amazing, thanks so much for sharing the knowledge
OMG, this video actually solved the programming problem that I am having today! Just my luck, thank you so much.
this actually just helped me in a FANG interview, great stuff!
0:26 The notation you used actually indicates it is a bi-directional graph, meaning directions in both ways. An undirected graph would have no arrowheads (since arrows indicate direction), but simply a line.
@Fireship
I had to figure all this stuff out on my own when trying to implement A* pathfinding in a game I made. The tutorial I followed used an adjacency matrix. But my game maps were 1000 x 1000. The whole thing crashed when it tried to build the matrix. So I manually went through and converted the graph to a list structure, so only nodes with edges were stored.
I guess I could have saved the whole thing to the hard disc instead of keeping the whole graph in memory at run-time, but I learned a lot fixing that problem.
i love your channel for a long time. content and form are premium. i confess i was not so engaged with 100 secs videos. seemed hushed. this approach with 100 secs as intro to something more in depth following is perfect to me. thanks for such great work.
Awesome job! Thank you. 100 seconds is great no complaints but beyond is next level!
This video is awesome! I love seeing these 100 second videos pop up in my feed, they’re always fantastic. One note though: an adjacency matrix does have very bad space complexity, but part of the reason for that is that it’s making the trade-off for time. It actually is quite time efficient to check specific connections [O(1)], so it just depends on what your program is prioritizing or needs.
This was incredible! Finally a real world example where you show the power of recursion 🙌
When I say I was stressing! This just saved my life thank you.
Yes, I would definitely like more videos with technical interview prep focus. I'm probably a ways off of an actual interview, but it's nice to mentally prepare proactively because I'm such a good procrastinator!
This hooked me like crazy. Please do more data science and algorithm videos like this. Loved it!
Is it fair to say @1:25 accurately describes all of us right now?
Great video by the way, cheers! Keep it coming. DONT STOP! PLS!
It is so nice knowing that you decided to use recursion instead of stack in DFS to show to show it can be down either way. Thanks a lot Jeff 😍
Amazing one.. WE need more of these :) Bring it on brother ✌
wow so fantastic, so fast and all necessary details/CRITICAL details are covered with real time application.
This really makes me so excited to dig deeper into the topic.
Keep posting more informative videos like this.
And could be also attach code in the video description in popular 3 languages like python, Java, c++ along with javascript
Amazing video!! Practical problems are ALWAYS better than abstract ones.
This is by far the best explanation of node.
For your BFS implementation, I think worst case time complexity ends up as O(E + V^2), because the shift() method is (probably) O(N) for N == length of the array. To achieve O(E +V) A "real" queue implementation is needed, that implements enqueue()/dequeue() in constant time.
Great timing, would definately love more videos like this!
straight up one of the best channels on yt
Wow, respect for using kms.
You are on a different level. Should be paid by the firebase team for doing so much better videos than they do.
Thanks man , I used to fear from this topics , you made so easy that any non tech guy can understand completely . God bless you 🙏
I'm on my way to the final exam in data structure, just finished my study in graph traversal and then here is your video ❤.
you are Saviour of cs students 🙇♂🙇♂...
That was awesome, keep it up with more advanced stuff
great video! quick and efficient refresher for stuff i touched 10+ years ago when i did my bachelor's. thanks :)
Thanks for taking the time to make this great video! I'm doing interview prep, like many others. There was a problem I ran into while recreating breadth first search graph traversal: the enqueue in the 'bfs' method was happening regardless if the destination was in the visited Set so I ran into an endless loop scenario. I removed that and just kept the enqueue in the 'if not visited' statement and I get the correct answer. Please forgive if I just missed some of the code in the tutorial and thanks again for the great video/succinct example!
Fireship needs to be protected at all cost. Most useful than all of my comp sci professors combined.
This made more sense than the semester of data structures
+1 for more algo/ds in JavaScrip! Amazing content.
More on graphs please. This was one of the best explanations of graph traversal on the internet ❤
This video was a majestic thing of beauty.
This channel and codestackr are my bibles to CS 2020
Every other channel: Increase the video speed to 1.25.
This channel: Decrease the speed to 0.75
thank you, will be practising a lot
*Music in **0:00**?*
Yes, definitely want more data structures and algorithms videos like this! Thanks for these videos, I wish I would’ve had you as my CS Instructor 😂
Been enjoying your content for years, Jeff. Wish I had you when I studied CS :) Suggestion: Sort algorithms for DBs and why they're useful in different scenarios.
This is so interesting to learn about... Lately all I have been doing is writing layout with flex and adding event listeners .. and boii , I hate doing that..
Please provide us with more algorithm, data structure videos which also focus on the interview perspectives, like this video did. Love your efforts man!!! Thanks
This is awesome, please keep it going 👍 , need more of these .
Would be great to do more of these technical "intervew prep" videos. Awesome explanation! Sums up half semester of Algorithms course :D
He just solved the most difficult problem in the world 😳...
Amazing, as usual. It’d be awesome if you created a full course on algos. Thanks! 😃
It feels so bad that you upload this video right now. It's a great video and in explains the problems clear. But for a school assignment I had to Depth First Search a specific list of nodes and links. I did need a couple of hours to figure out how to this works. I nailed it but not as clean as you explained the problem and the solution. Thanks for the great video's you make!
Thank you so much for sharing very high quality contents!! More CS topics pleaseee :)
I wish it didn't take my data structures professor 3 weeks to explain this concept. Thanks for the 100 second rundown!
dam this is so much more helpful than the leetcode graph card, thank you so much!
Make more such videos like using some development related use cases where this algorithms can implemented , everyone will love them as the you breakdown the problem into subproblem is awesome.👍👍👍👍😁
Sure this is awesome❤️ we definitely need more of these
At least it will help us cracking the coding interview
Thank You So Much for this wonderful video...🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
Most algorithms and data structure courses are either in java or python. Rarely see one in javascript. We need more video like this for JS community.
Awesome video!
1 correction though @ 3:01 the graph does contain cycles. A cycle is a non empty trail where the only repeated vertices are the first and last vertices. Hence that graph contains multiple cycles.
Wow brilliant tutorial man brilliant lesson thanks so much learning so much here