No video

3 Types of Algorithms Every Programmer Needs to Know

  Рет қаралды 466,780

ForrestKnight

ForrestKnight

Күн бұрын

Пікірлер: 585
@DC4477north
@DC4477north 7 ай бұрын
Video starts at 0:01
@mossabDiae
@mossabDiae 5 ай бұрын
The first video I watch on your channel, subscribed in 24 seconds because you started sharing value quickly without a long unnecessary intro.
@rodoxsta
@rodoxsta 5 ай бұрын
Same here, but I subscribed after reading your comment!
@FernandoSLima
@FernandoSLima 3 ай бұрын
same
@goodshorts
@goodshorts 2 ай бұрын
Agreed
@softcolly8753
@softcolly8753 7 ай бұрын
The only time I have needed to implement a sort algorithm in 21 years as a software developer was for interviews or university exams. Never needed a graph algorithm at all. These are all coded into libraries these days, though it's somewhat useful to understand them, understanding how to index a database properly (applying them) is far more useful.
@gustavofagundes8994
@gustavofagundes8994 7 ай бұрын
exactly
@lukaszantoniak9046
@lukaszantoniak9046 6 ай бұрын
agree
@drakkor1000
@drakkor1000 6 ай бұрын
amen
@cbc700
@cbc700 6 ай бұрын
This was quite a nice video, especially the visuals. However, I agree with the sentiments of this thread. In three decades of coding, I've only had to implement a sort algorithm a handful of times. So rare in fact, I can't remember the last. Interesting to understand, but softcolly is right -- mostly seen in school and interviews. Your delivery is quite good -- going to check out your other vids.
@joannehart9624
@joannehart9624 6 ай бұрын
Back in the late 70s when I started coding, we often needed to implement sorting algorithms into our code. Sometimes because the operating system did not have a system sort, and other times because the overhead of setting up the code to use the system sort made it easier to just code a sort into the program. Back then CPU and memory were at a premium, so we had rules such as if the program needed to search through a table of more than 100 entries, the program had to sort the table then preform a binary search. Fun times to look back on. That said, those approaches have stuck with me throughout my career and oft times helped me fix resource heavy applications that wouldn't finish within the time frame demanded by business. 🙂
@lukashuth9730
@lukashuth9730 7 ай бұрын
Really nice and informative video while still being short without "unnecessary" information, i really liked it
@yourma7055
@yourma7055 7 ай бұрын
True
@nitheeshraajar393
@nitheeshraajar393 7 ай бұрын
Just want to let you know @7:35, you say Binary search is O(log n) but on the chart its pointing to O(n Log n). Very nice video 👍
@jonarielm
@jonarielm 7 ай бұрын
nlogn if data is unsorted i guess.
@nitheeshraajar393
@nitheeshraajar393 7 ай бұрын
​@@jonarielm then yup nlogn to sort then logn to search
@lagmaker
@lagmaker 7 ай бұрын
​@@jonarielm you cant use binary search on unsorted array
@deraxelturrelkeign
@deraxelturrelkeign 7 ай бұрын
@@jonarielm Binary search couldn't function (effectively) on unsorted data without sorting first. An unmodified Binary search will either find what its looking for in O(log(n)) like a normal binary search (the algorithm just happens to go the right direction), potentially falsely return -1 or I believe get stuck in an infinite loop.
@murilourso
@murilourso 7 ай бұрын
He even said "for sorted arrays"
@OGNord
@OGNord 7 ай бұрын
Dude this was gold. I’m currently on week 3 of CS50s course and I’m in love with C and programming so far. This is a very succinct explanation of each section! Thank you very much
@thobiaslarsen8336
@thobiaslarsen8336 7 ай бұрын
Finally someone who is happy with C and doesn't cry 😃 Thank you for showing hope 🙏
@zoeherriot
@zoeherriot 7 ай бұрын
@@thobiaslarsen8336 C rocks. Great language.
@KaneryU
@KaneryU 7 ай бұрын
idk why this comment made me so happy you go man! (or girl, lol)
@thobiaslarsen8336
@thobiaslarsen8336 7 ай бұрын
Probably because there is a lot of negativity in the field right now, so its very refreshing to see something actually positive 😂
@youMatterItDoesGetBetter
@youMatterItDoesGetBetter 7 ай бұрын
C is cool.
@User.Joshua
@User.Joshua 6 ай бұрын
You certainly have a knack for explaining things in an easily digestible way. Thanks.
@wille4986
@wille4986 7 ай бұрын
Your enthusiasm is infectious and reassuring - knowing someone else finds this all just as fascinating to dive into but presented with the quality as you do is a privilege to watch. Excellent video and I can't wait to see more! Thank you!
@JustDevInc
@JustDevInc 7 ай бұрын
This was very nicely done. The visuals and your commentary allowed me to understand the algorithms in ways that previous videos I’ve watched haven’t. They’d either be too basic of an overview to get what’s happening, or too code based without visual cues to help you understand. This was a perfect balance of simplicity and depth. Great work!
@BillyLongshot
@BillyLongshot 6 ай бұрын
love the intro and general framing of this video: no glam dreams about becoming a software engineer but the actual nitty-gritty that actually makes you one
@Kamuisakeu
@Kamuisakeu 6 ай бұрын
The quick and concise video with visual representation together with the code sample was right on the spot! Cheers to that and give us more!
@aggumbi
@aggumbi 7 ай бұрын
Wonderful video. As a scientist going through a programming journey, the way you show the visual and explain the code (with the highlights, etc...) is extremely helpful. More algorithm videos please! ❤
@TubeAccount-b1f
@TubeAccount-b1f 27 күн бұрын
Channel is gold, also just discovered it.. look my dev stint is sitting around 24 years 'ish.. I've never had to implement these algo's in the banking industry, however such a pleasure listening, learning and seeing true passion at play. Well done, subscribed and will keep popping in every now and again.
@wolfmansaw
@wolfmansaw 6 ай бұрын
I've been coding for 55+ years and I'm so glad I found you today! Great stuff!!! Right into the code and no fluff! I think you define what it means to be a programmer!!!👍
@jynx0riZ0r
@jynx0riZ0r 7 ай бұрын
Best explanation of dynamic programming ever. Thank you. ;-)
@Andron4iKTV
@Andron4iKTV 7 ай бұрын
You made a mistake when show to us time complexity of binary search. You put finger emoji on O(n log n) insead of O (log n).
@fknight
@fknight 7 ай бұрын
Good catch! Thanks for pointing that out.
@TT-hi7lp
@TT-hi7lp 7 ай бұрын
Was just about to comment about this
@alexrubio9507
@alexrubio9507 7 ай бұрын
​@@TT-hi7lphahaha same here
@OGMann
@OGMann 6 ай бұрын
Oh yep. Everyone was.
@ademromdhane1271
@ademromdhane1271 6 ай бұрын
Amazing how easy you can simplify this hard algorithms visually , good job i really like it
@ongeziwejunior4656
@ongeziwejunior4656 2 ай бұрын
man, you explain these very well. still a newbie in DSA and trying to get my way around them and so far, from you i'm understanding them a bit better💯. I'd actually love to hear more from you.
@cryptonative
@cryptonative 25 күн бұрын
I like to categorize algorithms with inserting (eg. btree, BST), searching (eg. binary search, dijkstra), editing (eg. bubble sort or merge sort) and deleting (similar to inserting) That's all you can do with data
@emmanuelkimutai-uo2fx
@emmanuelkimutai-uo2fx 7 ай бұрын
00:02 Three types of algorithms every programmer needs to know 01:35 Sorting algorithms rearrange elements in a certain order to organize data for easier use and analysis. 03:14 Merge sort is an efficient and stable sorting algorithm. 04:57 Sorting algorithms are fundamental in computer science and have various real-world applications. 06:33 Binary search is an efficient algorithm that repeatedly divides the search interval in half. 08:10 Algorithms are crucial for analyzing relationships in graphs 09:49 DFS and BFS are fundamental in understanding algorithms 11:30 A* algorithm is a sophisticated pathfinding algorithm used to find the shortest path between two points. Crafted by Merlin AI.
@rogueronin1010
@rogueronin1010 7 ай бұрын
Make a new playlist for all algorithms in depth videos. Thanks for the bite size explanation.
@techfixer1543
@techfixer1543 6 ай бұрын
Thank you! Your lucid explanations of these algos shows your in depth knowledge, and the accompanying graphs are fantastic and hit a home run in visually expressing the underlying concepts. And you keep the viewer engaged with your peppering of being flawlessly snarky. I had to rewatch the part on the Dijkstra's algorithm to let it sink into my ever evolving brain in "thinking and reasoning" mode. Fantisic vid overall!
@edattacks
@edattacks Ай бұрын
I like the visual for A* algorithm being how lightning connects to an upward streamer
@gregoryhost5188
@gregoryhost5188 7 ай бұрын
This was really amazing and great timing, I'm currently struggling with algorithms especially trying to figure out where and how exactly to use them.
@daemon_zero
@daemon_zero 2 ай бұрын
Straight to the point, great graphics do illustrate, and as a bonus, no trademark "tech influencer" neon on background. Subscribed, absolutely.
@guitarman813
@guitarman813 6 ай бұрын
One of the best videos I've seen for an introduction and basic explanation of important algorithms in computer science and programming. Awesome job! 👏
@cedrickmccallon
@cedrickmccallon 6 ай бұрын
Almost 20 years into the game and I wish my CS teachers would have explained these algorithms this well. Great video.
@hunterlewis5566
@hunterlewis5566 6 ай бұрын
I'm fairly new to computer science and programming and I love this and would love to see more of this, you got my support and vote of confidence!
@ZiaCodes
@ZiaCodes 7 ай бұрын
Hey hey, Your talking style is amazing! The way you explained the algorithms is fabulous! I love it!
@InconspicuousChap
@InconspicuousChap 6 ай бұрын
Ιllustration of the algorithms in a language for non-programmers is quite symbolic. The target audience don't even realize how far is such a keyword-based memorizing of popular concepts from actual learning and understanding stuff.
@omargoodman2999
@omargoodman2999 7 ай бұрын
What about the "really bad" sorting algorithms? Like "Stalin Sort": Step through the list one item at a time and, if the item is out of order, delete it. This results in a sorted list at the end [may result in some lost data]. Or "Miracle Sort": Step through the list and check if the items are in sorted order. If they are, return the list of sorted items. If not, wait a designated amount of time, recur function to see if the list has miraculously become sorted. Continue recursion until a sorted list is found.
@JasonWelch
@JasonWelch 3 ай бұрын
I love this video because it introduces people in a rather gentle way to these topics. I feel like I could write an entire book on my experience as a programmer at this point (not that I think anyone would care to read it). I've been coding for over 25 years since I was a teenager and got my first dev job at 20. Back then I was super arrogant until I began working with people far more skilled and experienced than me, and so I studied CS for several years. However, I think the problem back then wasn't so much a lack of willingness, but simply a lack of awareness. I didn't know what I didn't know. I remember struggling to understand BSP trees, and then it became obvious to me later why: I didn't even know about binary search! Videos such as this one are immensely valuable for those early on in their programming journey.
@flpflpflp
@flpflpflp 7 ай бұрын
Hey man, I've been a subscriber for a few years now. I think this is the content I liked the most. Keep up the great work!
@Radio_N_Casa
@Radio_N_Casa 7 ай бұрын
Truly enjoyed this, simple enough and yet leaves me wanting more. Well done
@ringringlord
@ringringlord 6 ай бұрын
very straight to the point and zero clutter
@Dwafford01
@Dwafford01 7 ай бұрын
I loved this video, I just want to say I finished my BSc it with programming specialisation in the end of 2020. Now for the first time I'm being treated as a developer by the company I'm working for. It's both exciting and nervous, but with videos like these I think I will be okay.
@GideonBryceTan-od4tq
@GideonBryceTan-od4tq 7 ай бұрын
Well explained and condensed -- it's like crash course for algorithms. Great stuff!
@markpalma1761
@markpalma1761 7 ай бұрын
showing which part of the code the is being ran live with the animation makes learning this much easier
@wyohman00
@wyohman00 6 ай бұрын
I wish every creator on KZfaq would watch your videos! To the point with no baloney. Thanks!
@jeffreyphipps1507
@jeffreyphipps1507 3 ай бұрын
I think this is essential for a more important reason. A programmer may never use any of these directly, but the knowledge that these mechanics imprint can be used in other places. I had an instructor once who wanted students to make a faster sort. Spending the time to do that wasn't worth it - I already knew seven sort methods. I dropped the course and told him why. I later retook the course with another instructor. What I didn't learn the first time was that I could use methodologies from three sorts to leverage different data structures that I had never seen before. You may never know that until an instructor tells you that. The first one didn't, the second one did. The difference was that the first instructor was also a math instructor and taught theory. The second was also a systems analyst instructor used to teaching OS design. His POV was different. I learned something else from that experience - I later became an instructor, and I had learned that not everybody's background/experience is the same. When answering a question, it's a good idea to know what the student's experiences are.
@letsfly662
@letsfly662 6 ай бұрын
Break down the algorithms and data structures you think are necessary bro, these things are timeless!
@max_masterius
@max_masterius 6 ай бұрын
It's so visual! I've got the motivation to look deeper. It's a long time after my university that I actually touched this topic.
@CauseItsNotMidnight
@CauseItsNotMidnight 5 ай бұрын
More of this. Visual representation is stimulating, explanation is clear, analogies could be slightly more engaging, but are effective as is.
@matias-dev
@matias-dev 7 ай бұрын
Loved the video, straight to the point with the necessary information, i had this kind of algorithms shown to me in programming classes in college and i always dread how they were shown, sometimes people overcomplicate the initial step of a bigger problem (probably not in a badly intentioned manner), i think your video is a great way to get started on these topics!
@ericajcruz
@ericajcruz 7 ай бұрын
Great video. More "boring" algorithm videos please! Thank you for posting this.
@joaquinpickelny8958
@joaquinpickelny8958 4 ай бұрын
I really hope you are making money off these videos (this is the first one I've seen), because every single cent would be well deserved. From the content itself to the visual examples and code, not to mention how easily you explain these concepts in a complete yet straightforward way. It took me maybe 13 seconds to subscribe.
@TampaCEO
@TampaCEO 6 ай бұрын
Outstanding video. I've been a professional developer for over 30 years and I have to say that this video is by far the best I've come across on KZfaq. Here's why: 1. Outstanding graphics. That cannot be understated. 2. Outstanding explanations. 3. You get right to the point (no wasted conversation). Consider me a new subscriber (to add to your half million or so). Congratulations on the success of your channel.
@samiamgrnegsnhamnonftercan2ham
@samiamgrnegsnhamnonftercan2ham 4 ай бұрын
Great vid, would love to see more on algorithms!
@zakuguriin4521
@zakuguriin4521 6 ай бұрын
I built an array sorting algorithm visualizer with some classmates in programming school for our Javascript Team project. Watching it sort huge arrays was so addicting and mesmerizing.
@Nynxxx
@Nynxxx 7 ай бұрын
I would love for you to do more videos on this stuff as I am about to finish my Comp Sci degree, and I am currently struggling with algorithms. I have not been the best with math in the past, and I just feel like there is something about algorithms I am missing. It just isn't clicking. I understand what they are and what they do, but if I get asked a simple question about solving what time complexity something is, I completely fumble, and just don't even know where to start.
@youMatterItDoesGetBetter
@youMatterItDoesGetBetter 7 ай бұрын
Loveeee that you’re getting that degree. People talk down on degrees nowadays, but they really do get you in the door.
@alexrubio9507
@alexrubio9507 7 ай бұрын
Man I wanna say that you're so talented at making these videos. It is so clear that you love doing them. Please keep posting, you re a rockstar!
@francisharrington3155
@francisharrington3155 4 ай бұрын
Forrest, your videos are damn near perfect. I've watched 5 in a row and subscribed to your channel and the newsletter. Probably gonna pull the trigger on the notion studious next.
@fknight
@fknight 4 ай бұрын
I appreciate that! Hearing this really means a lot
@slayergaming5421
@slayergaming5421 6 ай бұрын
Great video! I really like the visual depiction of Dijkstra's and A*.
@alexaneals8194
@alexaneals8194 7 ай бұрын
I enjoyed your presentation. I will say that many times insertion sort is used by quick sort once the array is partitioned into small portions like < 10 elements. Also, these are in memory sorts, so if your accessing the disks frequently then you may not want to use these algorithms. Same goes for binary search. I don’t know if you have already covered it, but knowing how to code parsers can be valuable. I have lost count of how many parsers, I have had to code in my professional career.
@krzysztofs3t532
@krzysztofs3t532 7 ай бұрын
Wow man! I'm a mathematics major, working as a React developer and this video rekindled my pursuit for pure programing, not just learning another library! Thank you very much! Immediately sub!
@dougpark1025
@dougpark1025 6 ай бұрын
The O(n) postman or bucket sort deserves a mention. Very useful when you have a limited number of integral values (like zip codes). I have used this in a few cases where I was dealing with a very large number of items that could be placed into buckets or ranges. Another good improvement to sorting is to take advantage of multiple cores. A lot of sorting algorithms are fairly easily decomposed into parallel operations.
@Mihowill
@Mihowill Ай бұрын
Nice to see the Primagean brother being great programmer as well.
@adnelfigueroa1227
@adnelfigueroa1227 6 ай бұрын
Awesome video! Loved your explanation and the fact that you incorporate funny comments. Exited to see more.
@alialibaba6672
@alialibaba6672 6 ай бұрын
Hey Forest, great wor and marvelous graphical representation. Please continue
@BetweenTheBorders
@BetweenTheBorders 6 ай бұрын
I'll be honest, I almost didn't click on this video, bur I thought "you know, as a dangerous amateur, I should see what I should know." And I guess since I've implemented A* before, I'm not too far off the mark. Good to have some sort and search concepts in the toolbox for future research. Well presented!
@skilz8098
@skilz8098 6 ай бұрын
When working with 3D Graphics and a Scene Graph Hierarchy for world object placements and collision detection systems, one of the more generalized and efficient data structures - algorithms is the BSP Trees and its variants. Binary Space Partitioning Trees are very powerful. Related to them are also the Quadtrees and Octrees. Another type of algorithm not mentioned here which is a bit different than your conventional sorting or searching algorithms is your transformation algorithms. I'm not necessarily referring to transformations as physical translations within basic kinematic physics such as horizontal - vertical translations, rotations, and scaling perse but more on the lines of transforming data or input singles from one domain to another. One of my favorite algorithms especially with in analysis is the Fast Fourier Transform and its inverse. A few other noteworthy algorithms are ODEs (Ordinary Differential Equation solvers), Integrators, regressions models (linear, quadratic, cubic, etc.) and Interpolations. Other than that, this is great video for everything you covered is right on point! We always have to consider both the time and space complexities of various algorithms, containers, and datasets knowing the various tradeoffs between them. The only other thing that would be missing from this video is how different containers and algorithms are affected by locality especially when considering cache coherency and perhaps branch predicting, page boundaries and alignment as they can very well affect the performance and efficiency of various algorithms.
@basildaoust2821
@basildaoust2821 6 ай бұрын
Framing a house is not a big deal if you actually know how to use a hammer, but I will admit I have found nail guns very handy when you have extremely limited space. I used one for a small area when I was putting the ceiling in my basement, the place I used it was when I build the framing for around the heating ducks, I could keep things close to the ducks but had very little to no room to swing a hammer, but enough room to get in a nailgun and pull the trigger. It was quick, fast and really easy, one of the best rentals ever.
@SN-ed7wi
@SN-ed7wi 5 ай бұрын
Excellent vid for all the reasons stated by others, well done. Too bad there are some who think the info is not practical today. The fundamentals you learn by coding even one of the efficient sorting algorithms will stay with you forever.
@escapist818
@escapist818 6 ай бұрын
Oh man I would love a deep dive video on hashing algorithms, your stuff is great!
@JevVan
@JevVan 6 ай бұрын
LOL Bubble Sort! My first sorting algorithm that I learned in HS in the 80s! I thought it was awesome! Thanks for the fun video.
@chrisnortonjr
@chrisnortonjr 7 ай бұрын
Yes, make more videos like this. I’m currently learning DSA
@forsmanos
@forsmanos 5 ай бұрын
Very nice graphics for your examples. Nice enough, i almost felt like i was watching an ad.
@fishwrapper5509
@fishwrapper5509 6 ай бұрын
even being a retired engineer, I like stuff like this. keeps me thinking.
@bryanbisimotopinas345
@bryanbisimotopinas345 5 ай бұрын
Some comments for visual accuracy e.g. in 3:25 insertion sort, the element j is not really shifted right, arr[j] still contains the reference it's just that `arr[j+1] = arr[j]`copies the reference to arr[j+1]. I think it would be better to keep the two duplicate values then just overlap key to to arr[j] to keep visual consistency. Also, i find it helpful if i can see the values of i and j when stepping over each line of code.
@natalkaskus6547
@natalkaskus6547 4 ай бұрын
wtf ur explanation is unbelievable, so on point
@twisthard
@twisthard 6 ай бұрын
Nicely done and presented! A couple of these were not presented in my CS Data Structures and Algorithms course, and as such this was a great view into those. One algorithm I never really got the hang of was hash tables. Now you have me thinking about that again. Well done!
@grassifuentes
@grassifuentes 7 ай бұрын
This is excellent. I took algorithm designs a year ago and this refreshed my memory by a lot and made me want to look into it for practicing again. Thank you!🙏🏽
@davidrichman2117
@davidrichman2117 6 ай бұрын
Thank you, Forrest Knight! Just review for me, but I wanted to say that you have a wonderful down to earth way of presenting that I really appreciated. Keep up the good work!
@whophukenfarted
@whophukenfarted 6 ай бұрын
Amazing video! I can’t wait until I can develop this type of understanding of the different algorithms! Thank you for sharing this! 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥👏👏👏👏
@CTLanni
@CTLanni 6 ай бұрын
I always liked the Heap Sort. I thought it was brilliant and plenty fast for me. It served me well for about 40 years. I also liked the binary search.
@surferbum618
@surferbum618 7 ай бұрын
Thank you for making this. Yes please, more of these!
@kfletcher2005
@kfletcher2005 6 ай бұрын
I've never had to implement any sorting algorithm at a low level like that in 30 plus yrs. Usually there's some library that already exists for sorting, but In the java world, the jdk has built in sorting via collections api. You can get a little fancy with it through embedded lamda's when you need to sort by primary, secondary & tertiary attributes. There's probably half dozen ways to skin that cat. So, I haven't had to do any low level sorting like that unless for a college exam or an interview. Same deal with dijkstra's method. I had a little downtime a few years back and was doing all these hacker rank exercises covering graph theory for the heck of it (and it was interesting), and it turns out an interview popped up where I needed to solve the optimal distance between two points. I used Dijkstra's algorithm and aced the interview and got the job, but never used it again. hahah
@mavrosyvannah
@mavrosyvannah 6 ай бұрын
I subbed, I liked, and recon this, that at 5:40 YT cut you off and inserted a 3 minute get rich quick feeling commercial.
@incognitiveincognito
@incognitiveincognito 5 ай бұрын
Wish you where my data structures proffesor, then I might not of had to retake the class so many times haha. Amazing video, can't wait to see your other stuff
@barcactu1032
@barcactu1032 6 ай бұрын
Looking forward for an algorithms series ;)
@sayo9394
@sayo9394 7 ай бұрын
it's fun watching your videos as a senior engineer who just uses STL's std::sort too much without putting much thought into its algorithm! i tend to think more about data structures rather than algorithms!
@YuriIdrisov
@YuriIdrisov 6 ай бұрын
Hm. For the second time someone from the screen tells me his name is Forrest, and for the secon time, the value of the content is great. Thanks!
@dereklewis546
@dereklewis546 7 ай бұрын
HEY, I LEARN C IN 1980'S ( THE DR - KR EDTITION ) I WAS DOING THAT SORTING AND ALGORITHMS, IM SO HAPPY YOU HAVE THIS VIDEO, MAKES IT MUST EASY TO GRASP, ( TO ME IS Ai & ML )
@popinjayackroyd4526
@popinjayackroyd4526 7 ай бұрын
Interesting stuff. I am just a coding hobbyist, but I found this very useful.
@alivaliev5152
@alivaliev5152 7 ай бұрын
Right when I needed it most, this gold! Keep on this!
@electronron1
@electronron1 6 ай бұрын
I use the COMB sort for most of my applications. It's code is similar to the bubble sort but sorts much faster.
@Viafro612
@Viafro612 7 ай бұрын
As a developer, i always suscribe to a better devs channel. Well done
@vishnum4852
@vishnum4852 7 ай бұрын
Great videos. Liking this nitty gritty concepts which are not popular in yt We need more videos like this man..
@techsalesandmore3649
@techsalesandmore3649 6 ай бұрын
never seen your channel before. Totally loving your animations!!!
@EagleHunt
@EagleHunt 7 ай бұрын
Make more videos like this. Informative content is what I’m here for
@zushiba
@zushiba 6 ай бұрын
I really wanted to focus on the algorithms presented in this video, but was distracted by the dudes glorious hair. I'm jealous of your hair dude.
@aaronmorgan4466
@aaronmorgan4466 6 ай бұрын
Really great explanations, thank you. This highlights where I came unstuck in AoC '23 quite well :)
@christianmboula8923
@christianmboula8923 4 ай бұрын
Superb content, excellent delivery! where were you when I was taking DS a few decades ago!
@ChwisKay
@ChwisKay 5 ай бұрын
Thanks Forrest. Now every time I run an algorithm i think to myself: "It runs Forrest, it runs!" Thanks :D
@skyname8870
@skyname8870 6 ай бұрын
Bro, you're the best! Thank you so much for your video! No way of me missing the subscribe button!
@stevemacmanu
@stevemacmanu 6 ай бұрын
I don't agree with you saying these videos don't make you dream about being a software engineer They're making me dream and that's why I just subscribed Please make more videos like this, I love them and they also shape your thinking as a computer scientist Thank you very much
@preludeofme
@preludeofme 7 ай бұрын
Keep these types coming (but also don't stop the long form too 😊)
@reikooters
@reikooters 7 ай бұрын
The algorithms were well explained, but something that I don't think was quite made clear enough in the video (it was kind of stated with the hammer/nailgun analogy, but not fully explained) is that Big O Notation isn't a measure of speed - it's a measure of scaling, meaning how much slower the algorithm becomes as the size of the collection increases. Also, the more complex the algorithm, the more targeted toward larger scale it typically is. For example, when searching a small collection, a for loop will often be faster than a dictionary look up, because generating the hash to use to perform the lookup and using it to find the item can take longer than just checking every element. There can be other problematic patterns which might not be so obvious to the programmer, such as if you call a function to check if a key is in the dictionary, and if so, call a function to retrieve the value, then you've just caused two lookups which halves the performance. As an aside, Bjarne Stroustrup's talk "Why you should avoid Linked Lists" is an interesting related watch.
@omargoodman2999
@omargoodman2999 7 ай бұрын
It's kinda like how there are little math "shortcuts" to tell if a number is divisible by some other number: If the last digit is divisible by two, then the whole thing is divisible by two. If the sum of digits is divisible by 3, the whole thing is divisible by 3, etc. But while there's _technically_ a trick for 7... it's very cumbersome and convoluted to work out and unless the number is *stupid huge* you're probably better just testing it by trying to divide by 7 and checking if there's a remainder. For the record, the "Divisibility Rule of 7" is: If for then absolute value of an integer (x) the difference between 2× the "units" digit of the number [2*mod(x,10)] and the remaining part of the number [floor(x/10)] is equal to 7^n where n is a non-negative integer (N^0); then the number represented by "x" is divisible by 7.
@indecisive.m
@indecisive.m 7 ай бұрын
This is genuinely so confusing for me but also incredibly interesting
@fackyoutube8452
@fackyoutube8452 7 ай бұрын
It’s not take a course on it, it’s not as hard as you think. If you ignore the coding part and make it intuitive it will start making sense. Then think about what each line of code does and how if you remove that line of code, what specifically happens that causes the error. If you can’t explain a concept inside and out like that, then you truly didn’t understand it yet.
@karsh001
@karsh001 6 ай бұрын
Learning these algorithms is part of the profession. If you don't know them you are not a programmer. On a side note: Its great to know when starting out. You never know if you end up somewhere where a library is disallowed and you really need to sort a data set.
So, you want to be a programmer?
20:43
ForrestKnight
Рет қаралды 284 М.
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 7 МЛН
Incredible Dog Rescues Kittens from Bus - Inspiring Story #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 27 МЛН
А ВЫ УМЕЕТЕ ПЛАВАТЬ?? #shorts
00:21
Паша Осадчий
Рет қаралды 1,6 МЛН
Whoa
01:00
Justin Flom
Рет қаралды 34 МЛН
10 FORBIDDEN Sorting Algorithms
9:41
Ardens
Рет қаралды 846 М.
How I would learn Leetcode if I could start over
18:03
NeetCodeIO
Рет қаралды 462 М.
How Senior Programmers ACTUALLY Write Code
13:37
Thriving Technologist
Рет қаралды 1,5 МЛН
8 Design Patterns EVERY Developer Should Know
9:47
NeetCode
Рет қаралды 1 МЛН
CS Professor Sounds Alarm on AI and Programmers
12:21
Travis Media
Рет қаралды 289 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1,1 МЛН
10 weird algorithms
9:06
Fireship
Рет қаралды 1,2 МЛН
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
Incredible Dog Rescues Kittens from Bus - Inspiring Story #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 27 МЛН