Graph Search Algorithms in 100 Seconds - And Beyond with JS
HTML-код
- Опубликовано: 16 окт 2024
- Prepare for a technical interview by learning about the graph data structure and basic traversal algorithms like depth-first search (DFS) and breadth-first search (BFS). fireship.io/co...
#compsci #JavaScript #100SecondsOfCode
Install the quiz app 🤓
iOS itunes.apple.c...
Android play.google.co...
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
My VS Code Theme
Atom One Dark
vscode-icons
Fira Code Font
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 🙏
That was sweet!
Please create a playlist of data structures and algorithms.
Great content, keep it up 👍🏻.
🔥🔥🔥
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 !!
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!
Greatest explanations i've ever seen on RUclips hats off @fireship
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 :/
😂
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.
The format of these videos is brilliant! 100 seconds intro and then, if you want it, some practical implementation.
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 ^^
Wow! This is awesome 🙌 would love to see more of this!
this makes so much more sense than any CS video i've ever watched
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
Make all 100 seconds videos like this, a 100 seconds explaining everything simply, then go into details...this is awesome
Very clear instructions. I only know Python and I completely understood your coding process with Javascript.
Some people were really born to teach.Congrats
Hellllll I loved this video. THANK YOU!!! This channel is seriously awesome. One of the best coding channels in the entire internet. ❤
Bro! The way you explained this and the neatness of your codes I could grasp the Graph theory quickly. Please make a series.
Your channel is sooooooo awesome, congratulations! One question that I have: Is the set used at the DFS function a memoization technique?
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 really enjoyed working with these data structures and algorithms in JavaScript. I would love to see more of this!
Thank you!This taught me more in a few mins than my professor in hours!
I love this! Very clear explanation. I would love a mix of project videos and interview ones like this.
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!
Finally somebody explaining Algortithms with Javascript Sets and Maps! Thank you.
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! :)
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 hooked me like crazy. Please do more data science and algorithm videos like this. Loved it!
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
This is great. Best implementation of DFS / BFS I have seen in a while. 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!
Loved this. 100 seconds to grab attention and beyond for serious developers
I needed this for my computer science class , your content is the high quality learning we all needed
Awesome job! Thank you. 100 seconds is great no complaints but beyond is next level!
It's crazy how much I learn from your videos in such a short time. Thanks you are the best.
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 actually just helped me in a FANG interview, great stuff!
Got an interview in 5 min. Thx!
Amazing video!! Practical problems are ALWAYS better than abstract ones.
Amazing one.. WE need more of these :) Bring it on brother ✌
Would be great to do more of these technical "intervew prep" videos. Awesome explanation! Sums up half semester of Algorithms course :D
Amazing, as usual. It’d be awesome if you created a full course on algos. Thanks! 😃
This was amazing! Great speed, great length, great everything!
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 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 is by far the best explanation of node.
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 😍
This was incredible! Finally a real world example where you show the power of recursion 🙌
thank you, will be practising a lot
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.
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.
That was awesome, keep it up with more advanced stuff
When I say I was stressing! This just saved my life thank you.
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.
Not gonna lie, have an interview coming up and this was amazing, thanks so much for sharing the knowledge
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.
straight up one of the best channels on yt
Great timing, would definately love more videos like this!
Thanks man , I used to fear from this topics , you made so easy that any non tech guy can understand completely . God bless you 🙏
More on graphs please. This was one of the best explanations of graph traversal on the internet ❤
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
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!
OMG, this video actually solved the programming problem that I am having today! Just my luck, thank you so much.
This is awesome, please keep it going 👍 , need more of these .
This reminds me of one of the first excersices of the book "eloquent JavaScript", it was awesome!
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..
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 😂
great video! quick and efficient refresher for stuff i touched 10+ years ago when i did my bachelor's. thanks :)
Thank you so much. Please make more and more videos on Data Structures and Algorithms. Thank you once again!
This is awesome. Thank you. I love the “beyond the 100 seconds”. Never heard of the Map or Set object. These kind if things make me so excited.
Do you make these videos on your own or is there a team behind Fireship?
Maps are some of the most beautiful data structures that you’ll ever see. A Map is a hashed data structure, which is some of the most useful shit you’ll ever use. A HashSet (not implemented in JS) is incredibly useful. They’re so useful because of their ability to retrieve a value in O(1) by value. This can find if an element exists in (ideally) O(1) rather than logn which is a binary search.
Tartarus13 Sounds interesting! Do you have a source where we can learn more about this?
@@tartarus1322 well, that is until you start getting hash collisions, that's when maps start rearing their ugly head
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.👍👍👍👍😁
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
+1 for more algo/ds in JavaScrip! Amazing content.
This made more sense than the semester of data structures
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.
That was great. I would like to see more of these. And also the thought process that takes place when you should use a Map..how to effectively use maps
Thank you so much for sharing very high quality contents!! More CS topics pleaseee :)
Every other channel: Increase the video speed to 1.25.
This channel: Decrease the speed to 0.75
Thank You So Much for this wonderful video...🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
you are Saviour of cs students 🙇♂🙇♂...
This video was a majestic thing of beauty.
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
@Fireship This video was awesome! Please add more JS algorithm content like this!
This channel and codestackr are my bibles to CS 2020
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!
one of my favorite videos so far!
This content is GOLD. Tyvm
Wow brilliant tutorial man brilliant lesson thanks so much learning so much here
dam this is so much more helpful than the leetcode graph card, thank you so much!
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.