4 Data Structures You Need to Know

Поділитися
Вставка
  • Опубліковано 13 чер 2024
  • Data Structures are a staple in software engineering. You will not be able to do any real programming without them. There are about 7 data structures you absolutely need to know, and in this video, we discuss 4 of them.
    🐱‍🚀 GitHub: github.com/forrestknight
    🐦 Twitter: / forrestpknight
    📸 Instagram: / forrestpknight
    👨‍💻 My Coding Gear: bit.ly/my-coding-gear
    📓 Learning Resources:
    My Favorite Machine Learning Course: imp.i384100.net/YgYEBJ
    Open Source Computer Science Degree: bit.ly/open-source-forrest
    Python Open Source Computer Science Degree: bit.ly/python-open-source
    Udacity to Learn Any Coding Skill: bit.ly/udacity-forrest
    🔧Coding Tools:
    The Best Linux Server Hosting: bit.ly/linode-forrest
    Intro 0:00
    Data Structures 1:00
    Arrays 1:19
    Linked Lists 4:16
    Stacks 6:53
    Queues 7:43
    Outro 8:15

КОМЕНТАРІ • 737

  • @fknight
    @fknight  3 роки тому +48

    The Follow Up: ua-cam.com/video/2EQ9WswHJ6A/v-deo.html

  • @siddarth1346
    @siddarth1346 3 роки тому +2102

    I am not religious, but Jesus telling me he is proud of me for clicking on this video does make me proud of myself

  • @michaelevan9184
    @michaelevan9184 Рік тому +27

    I'm 61 years old. Recently retired nurse anesthetist....started working towards a Masters in CS Online....just finishing my first semester...doing great. Just wanted to say I love your channel and have been following you over the past few years and I found your channel very inspiring and even encouraged me to finish my CS studies that I migrated away from over 30 years ago. DSA course coming up next semester. Every little bit helps.....Keep up the good work!

  • @saayoo3479
    @saayoo3479 3 роки тому +91

    4 Data structures are:
    Arrays
    Linked Lists
    stack
    queue

    • @coldwynn
      @coldwynn 3 роки тому

      F''''''' I got three out of four. Thanks.

  • @ThePieas
    @ThePieas 3 роки тому +271

    Yeah. I want tree + heap = whatever you're telling

    • @noah-4482
      @noah-4482 3 роки тому +14

      Forrest: a heap of trees

    • @SirTranquilizator
      @SirTranquilizator 3 роки тому +2

      @@noah-4482 and you can take a trip to a forrest.

  • @phillipgardner1569
    @phillipgardner1569 3 роки тому +233

    This is perfect, I am at hash tables in my Uni algorithm course right now so need that part 2 as soon as possible. Much thanks

    • @fknight
      @fknight  3 роки тому +51

      I'll see what I can do. Hash Tables are pretty heavy haha

    • @billytran3692
      @billytran3692 3 роки тому +2

      Try to read your textbook if you got it. Having a project that coincided with the lessons always made using my textbooks so much less boring

    • @cannabiscreative7474
      @cannabiscreative7474 3 роки тому +1

      Agreed!

    • @tear728
      @tear728 3 роки тому +4

      Actually, hash tables are the easiest besides linked list to understand lol there's no tricky traversals, transplants, swaps, etc.
      Very, very simple. Hashing function maps item to location in table by converting the item to a number. Modulo that number with the length of the table and that's the index to put it in. Handle collisions by using a linked lists to chain them, or by probing.
      Done.

    • @nsptech9773
      @nsptech9773 3 роки тому +4

      @@tear728 Well, that was hashing in a nutshell. Great Job!

  • @litpapi9850
    @litpapi9850 3 роки тому +41

    I had an interview yesterday and the interviewer asked me to name some data structures and what they are used for. TAKE NOTE YA’LL. 💻

  • @speedtech541
    @speedtech541 3 роки тому +9

    I'm doing data structures right now in uni and you helped A LOT ,please upload another one with the rest structures you mentioned

  • @dantelafawnda5341
    @dantelafawnda5341 3 роки тому +1

    What great timing. I'm taking a data structures course this semester and even though we just finished learning the 4 data structures you mentioned. The way you explain them and with the examples your provide, helps with the retention. I look forward to that part 2!

  • @bragiodinsen4604
    @bragiodinsen4604 3 роки тому +63

    He coded and was buried in bugs. On the 3rd day he rose again. He optimized into heaven and is seated at the right hand terminal. He will come again to review the promoted and the dead.

  • @gehdochnicht
    @gehdochnicht 3 роки тому +161

    I'm trying to decide if I'm learning programming from Jesus Christ himself or a hot viking, but I like it.

    • @mwanikimwaniki6801
      @mwanikimwaniki6801 3 роки тому +5

      😂😂😂😂I see you're a man of culture

    • @mwanikimwaniki6801
      @mwanikimwaniki6801 3 роки тому +1

      @Data The Viking is another You tuber

    • @rajeev6153
      @rajeev6153 3 роки тому

      I came to comments just to see if anyone mentioned this 😀😀

  • @michaelk1860
    @michaelk1860 3 роки тому +2

    Actually have a midterm for my data structures class on monday, just went over stacks and queues. This was a great condensed refresher on what i’ve just learned. Could not have been better timing so, thank you! :)

  • @giancarloavila4036
    @giancarloavila4036 3 роки тому +2

    Thank you for this! I love information like this. I took a data structures class and I feel like I learned so much and its just all leaking out of my ear now haha. Thank you for this, now I know what to study a little more when the semester is over.

  • @josuebarragan4559
    @josuebarragan4559 3 роки тому +1

    Loved this video! Funny enough I was looking for the data structures you left out in here, but hearing all these together were good to consolidate the similarities and differences. The part 2 would be greatly appreciated whenever you can! (:

  • @JustinPBarnett
    @JustinPBarnett 3 роки тому +80

    LOVE that these are pre-built into most languages nowadays. Makes coding SO much easier 🙌🏻 Your vids are amazing, Forest! Keep up God’s work

    • @noahduplechien4159
      @noahduplechien4159 3 роки тому +5

      Amen!!

    • @alexbarrineau3338
      @alexbarrineau3338 3 роки тому +10

      I remember having to write linked lists in C++ in class and it was so. hard.

    • @fknight
      @fknight  3 роки тому +5

      Thanks, Justin!

    • @lincolnsand5127
      @lincolnsand5127 3 роки тому +7

      @@alexbarrineau3338 Really? Linked Lists are pretty simple to implement, but kind of useless. Also. C++ has the STL (which has `std::list` and `std::forward_list`). Hopefully your college wasn't teaching C++98

    • @iFetaCheeze
      @iFetaCheeze 3 роки тому +6

      @@lincolnsand5127 most online tutorials and courses teach cpp like its 2000 lol

  • @BarelyEpics
    @BarelyEpics 3 роки тому

    Please do more of these. I am familiar with these but I always could use a refresher. I'd also love to see basic tutorials on how to set these up with some examples. The code snippets you put up certainly help still. Great video Forrest.

  • @vasiovasio
    @vasiovasio 3 роки тому +967

    When Jesus Christ starts teaching you programming tutorials on UA-cam, you know - The End is Near!

  • @callmejohn3222
    @callmejohn3222 3 роки тому

    First Video I saw of you, already like your way of explaining very much. Also the Video quality is crazy good in my opinion !

  • @EditsByShobhit
    @EditsByShobhit 3 роки тому

    I just found your channel today and I have to say, you're a blessing. I wanted to brush up on these concepts and this video helped alot. Thank you so much for this

  • @lanalane3172
    @lanalane3172 3 роки тому +38

    Him: I'm pretty proud of you for clicking on this video.
    Me: Thanks. That means a lot coming from you, Jesus.

    • @niteowl17
      @niteowl17 3 роки тому

      Jesus wasn't a Caucasian

  • @gentlemandude1
    @gentlemandude1 3 роки тому +3

    I much prefer this sort of content regarding programming rather than the "pro tips" for landing that coveted FANG software engineering job, etc. As you mention in the video, its easier to dream about getting a job in software than it is to sit down and do all the nuts-and-bolts grunt work to gain a deep understanding of what software can do and how it's implemented. So, I personally would prefer it if you made a lot more videos like this one. BTW, I'm a big fan of the Open Source Comp-sci degree. I'm a totally noob, and I'm slowly working my way through it during the lockdown. Thanks for all your efforts, Forrest!

  • @kennyackerman1305
    @kennyackerman1305 3 роки тому +1

    Honestly, part two would be extremely appreciated! Simple and clear! loved it. Thank you. :)

  • @roseproctor3177
    @roseproctor3177 3 роки тому

    Thanks for making nitty-gritty youtube videos! I really appreciate such quality learning material being available!

  • @ketameme8534
    @ketameme8534 3 роки тому

    Just discovered your channel a few days ago. Honestly your content is fantastic and really helpful for a budding software developer such as myself! Keep up the good work!

  • @dragoon12ful
    @dragoon12ful 3 роки тому

    I'm currently in my (super) senior year of college and I'm glad you made it easy to return to the basics. Great vid!

  • @jakebreakfield4095
    @jakebreakfield4095 3 роки тому +1

    This was a fantastic and very informative video! Summed up what my professor couldn't teach in a whole semester. Please continue to the other data structures!!

  • @mattrusty7396
    @mattrusty7396 3 роки тому

    Awesome video, hearing a professor ramble on for multiple lectures does little to ease the mind about what I should REALLY be taking away from the things they say, having an outside source confirm that yes, these are important, is super reassuring.

  • @malt_y7280
    @malt_y7280 Рік тому

    Absolutely loved this video getting ready to start to work on a bachelors in Computer Science and felt these are useful and interesting

  • @argonwheatbelly637
    @argonwheatbelly637 3 роки тому

    Nice video as a review or a quick what-is-this kind of question. Brief, good. I would love to see more advanced structures building on this, such as trees (red-black, avl), matrices (including sparse), and other structure that would be needed by some basic algorithms (sort, search, insert, delete, etc) ... in more videos. Well done, Forrest.

  • @willbuffie6098
    @willbuffie6098 3 роки тому +1

    You've got a natural, effective teaching style. Subscribed and looking forward to your future content.

  • @deytulsi18
    @deytulsi18 3 роки тому

    You are the most amazing person who explained the Data Structures so simply.
    Please make the second part of the video, explaining the other too. That will be of great help.
    👍

  • @YigitmK
    @YigitmK 3 роки тому +2

    As a computer science graduate and professional for 3 years, I could say that you really are a nice teacher. Also please add more visuals to beginners. For example you would have added three different linked list graphics while you were talking about them.

  • @Zack-tc4rm
    @Zack-tc4rm 3 роки тому +10

    In your time as a computer science student, did you have times where you felt discouraged or frustrated with learning the material? If so, how did you push through it and what would you recommend to dissuaded c.s. students to stay positive? Thanks for the videos!

    • @brandonswenson6215
      @brandonswenson6215 3 роки тому +4

      If I may answer this on his behalf, and as a software development student (working on my last 2 projects @ WGU), when ever I am discouraged, stuck, or completely dismayed, I take a break. I am discovering now the joy and pain of mobile application development on the Android OS. After a couple hours of study, I will take a break, go on a walk, or shut my eyes for 15 minutes and take a "power nap". But you must get back on the saddle and continue to push forward. I convinced myself recently, no matter what I feel about my current course of study "I can't do this" will not be in my vocabulary; it won't be an option. The only option is "I will learn this" therefore the only option is *when*. Since I'd rather it be sooner than later, I committed to immersing myself, which means making mistakes, and even scrapping entire solutions and starting from scratch. While learning about one subject, I also found it useful to research and study a similar area independently. (For example, while studying Java concepts pertaining to the Android OS, I would take a break from that and watch videos on LinkedIn Learning about .Net application development using Visual Basic and C#.)
      tl;dr
      take an effective break; remove "I can't do this" from your vocab; and, find a similar subject to study in parallel

  • @nikoanastasiou9218
    @nikoanastasiou9218 3 роки тому

    that intro speech was very real and i appreciated you saying it like it is. great video

  • @ephraimc.3606
    @ephraimc.3606 28 днів тому

    I don’t know if it’s your lack of intimidation on the subject matter, your Germanic lineage, or simply your beard that makes these elusive concepts make so much sense!!! Or maybe I’ve been banging my head away at this keyboard for too long, but I want to thank you for your effort.

  • @timothydisalvo759
    @timothydisalvo759 3 роки тому

    Please make more videos like this. This helped alot with my self studying. How you explain things makes it understandable.

  • @raveng8217
    @raveng8217 3 роки тому

    yes, I'd love a part 2! It's unfortunate that this type of video doesn't do as well as some of your others, these are my favorites

  • @luzpaulino1081
    @luzpaulino1081 3 роки тому

    These videos are always the most helpful for me. I am a computer science undergraduate so I always need something new to improve or do. Thank you so much.

  • @ponchov.9116
    @ponchov.9116 3 роки тому

    I would totally love to see part 2 of this video. Will be looking forward to it.
    Great video.

  • @jpank11
    @jpank11 3 роки тому

    Thank you Forrest! Great content. I rarely comment but wanted to to say I would love a video covering hash tables and the other data structures you mentioned.

  • @rissalall
    @rissalall 3 роки тому

    The nitty gritty is exactly what I'm looking for. Appreciate you for making more in-depth videos like this!

  • @abdellatifsbaiti9376
    @abdellatifsbaiti9376 3 роки тому +29

    Forrest : Arrays are of a fixed length and store only one type of data
    Javascript : Yeah about that

    • @consumerbot7980
      @consumerbot7980 3 роки тому

      Python: I don't like arrays and my lists never end.......

  • @cinialvespow1054
    @cinialvespow1054 3 роки тому

    EXACTLY WHEN I NEEDED IT and was thinking about it, you posted this :)

  • @pizzaslice9548
    @pizzaslice9548 3 роки тому +1

    This intro is absolute genius.. I already clicked on the next data structures video and I haven't even finished the first one

  • @parthaprateempatra4278
    @parthaprateempatra4278 3 роки тому

    The intro you gave is on point.. people always try to avoid important parts that seem a little difficult.

  • @dinoryan7152
    @dinoryan7152 3 роки тому

    Greetings Mr. Knight, I just started my basic HTML and HTML5 on free code camp, I came across your channel and find your explanation easy to follow and understand. I have subscribed and I will continue learning from your precious input to pave my way into programming and coding one step at a time, thanks for this data structure expose, means a lot even when I don't really know what it means yet, keep up the good work Mr. Knight.

  • @davidvideauortega287
    @davidvideauortega287 3 роки тому

    Hey Forrest! Awesome explanation on those data structures... I would personally love to watch another video on this topic!

  • @Otakutaru
    @Otakutaru 3 роки тому +8

    That has to be one of the best intros I've ever seen

  • @danielnahuelacuna3258
    @danielnahuelacuna3258 3 роки тому

    Awesome video as always. Nice and clear explanation, you are the best

  • @fitradical
    @fitradical 3 роки тому +1

    *In JavaScript:* An element inside an array can be of any type, and different elements of the same array can be of different types: string, boolean, even objects or other arrays. This means that it’s possible to create an array that has a string in the first position, a number in the second, an object in the third, and so on.
    JS is awesome.

  • @amirkhalesi5294
    @amirkhalesi5294 3 роки тому

    Great work on explaining bud.
    I love that both of us have this much of common backgrounds: WOW, data science, swift, ml and deep learning, and even hurt ear :)

  • @jimmylee9594
    @jimmylee9594 3 роки тому

    I've never heard data structures explained so simply. Subscribed

  • @dienand_
    @dienand_ 3 роки тому +4

    Ah, I remember the days of being scared of arrays. Now I'm back to being scared of arrays because in most of the languages I work with daily arrays aren't really arrays anymore.

  • @leeoswald668
    @leeoswald668 3 роки тому

    Somehow this guy started to show up in my youtube feed
    I'm kinda happy about that
    This guy is very nice, he has good thinking, respect to people and learning, good guy 👍
    I subscribe

  • @MikeTheGreatCC12
    @MikeTheGreatCC12 3 роки тому +1

    Love these kinds of videos! Keep doing more!

  • @astik.s
    @astik.s 3 роки тому

    Thank you so much forrest keep making such videos ❤️

  • @human22265
    @human22265 3 роки тому

    If my professor in algorithms & datastructures class made videos like these then that would be great! You do it so well :) You are a splendid teacher

  • @bloodandbonezzz
    @bloodandbonezzz 3 роки тому

    Simply and well explained bro!

  • @unixgaming6880
    @unixgaming6880 3 роки тому

    Thanks for the video, I'm def gonna check out pt2.

  • @timmagwood1832
    @timmagwood1832 3 роки тому +1

    Would you be able to do a video walking through different types of trees and their applications? Love the way you explain and dive into concepts. Keep it coming!

    • @fknight
      @fknight  3 роки тому +2

      Great suggestion. I'll look into it.

  • @paulonteri
    @paulonteri 3 роки тому

    Thanks for the refresher!

  • @jd_exploder
    @jd_exploder 2 роки тому

    checking in, in 2022. Your channel is the only one i can watch and learn from. Everyone else has no people skills at all

  • @filipdilmaghani9594
    @filipdilmaghani9594 3 роки тому +1

    Great video! Definitely would like to see a second part!

  • @vrendus522
    @vrendus522 3 роки тому

    Thanks for the videos, going through this now.

  • @aleksnords
    @aleksnords 3 роки тому

    About the intro, I think alot of people would like to learn, but when on UA-cam you're just surrounded with so much more entertaining and interesting things that it's hard to click on something that is likely to be purely educational. Even I only clicked because I have an exam about Algorithms and Data structures in two days...

  • @facu5563
    @facu5563 3 роки тому

    Great video! definitely will be waiting for part 2!!!

  • @__someone__3141
    @__someone__3141 2 роки тому

    The quality is so clean

  • @mikelong3444
    @mikelong3444 3 роки тому +1

    4.5 out of 5 STARS. You known, I'm pretty proud of you for making and uploading this video. I am commenting on behave of the crazy ones, which are in the group of learning the nitty gritty of Computer Science. Thanks ForrestKnight.

  • @milas6487
    @milas6487 3 роки тому

    I really liked your intro dude. Also, AWESOME video, I can't wait to keep watching your content.

  • @NicholasGrigoriev
    @NicholasGrigoriev 3 роки тому +62

    Arrays hold a fixed number of values of a single type.
    JS developers - yeah but actually NO :)

    • @jaayaustin336
      @jaayaustin336 3 роки тому +4

      No "actually" just NO😂

    • @Dthunder00
      @Dthunder00 3 роки тому +1

      Lol I was thinking the same thing

    • @mastermnd
      @mastermnd 3 роки тому +6

      @@jaayaustin336 lmao even in JS, its true. An Array holds a fixed number of items of a single type. JS adds magic on top to handle the rest

    • @asif_imtiaz
      @asif_imtiaz 3 роки тому

      Dart programmers as well.. I was thinking its more applicable for C++
      But its really important to refresh the core concepts!

    • @vizardesign
      @vizardesign 3 роки тому

      JS Array is fake.. it is Object ;)
      Whole JS is just a fake but I'm on it..

  • @jaypunekar590
    @jaypunekar590 3 роки тому

    Yes! Please make another video covering the remaining data structures.

  • @FranFiori94
    @FranFiori94 3 роки тому +1

    Literally what i'm studying right now. Perfect timing

  • @vivekpujaravp
    @vivekpujaravp 3 роки тому

    This video was so helpful, please make more like this!

  • @montenague
    @montenague 3 роки тому

    You explain things exceptionally well.

  • @timotheekelly
    @timotheekelly 3 роки тому

    These videos help so much, thank you so much

  • @brendawilliams8062
    @brendawilliams8062 2 роки тому

    Thankyou. I found the information I was looking for.

  • @sameershahbaz8821
    @sameershahbaz8821 3 роки тому

    sir make a second part of the data structure vids...its very very helpful I just remembered everything I learned through this video thank you, waiting for the second part. God bless you

  • @andyanderson222
    @andyanderson222 2 роки тому

    Thanks, man! Great overview.

  • @adiksaff
    @adiksaff 3 роки тому +1

    Not a computer science major. But as a newbie data scientist for health sciences, I feel like this is useful to know! Thank you! Subscribed for more.

  • @markovasic1698
    @markovasic1698 3 роки тому

    Great Video! Can't wait to see part two.

  • @lordhokage1333
    @lordhokage1333 3 роки тому

    Please make another video like this! It was very helpful and informative

  • @Joshua-rk7bl
    @Joshua-rk7bl 3 роки тому +1

    Appreciate you bro! I'm in data structures now at my university and I really think I want to be among the elite who dive deep into this topic! Just picked up the book, "A Common-Sense Guide to Data Structures and Algorithms" by Jay Wengrow to start. I'm about to nerd out on this one. Knowledge is power and I thank you for sharing yours.

  • @matthewg5792
    @matthewg5792 3 роки тому

    Would like to see another video on the data structures you mentioned at the end. Thanks for this!

  • @sebastienluciani3677
    @sebastienluciani3677 3 роки тому +1

    Hell yeah man! Thank you for sharing your knowledge.

  • @TheMagAirsoft
    @TheMagAirsoft 3 роки тому

    Studying for an Algorithm and datastructures exam on thursday, so i have learned this at this point, but please do make another video explaining those data structures, maybe with more visual elements showing the operations of chained hashing or linear probing. I know this will help my successors learning this cause, as this video puts a baseline of knowledge of data structures.
    Thanks a lot, and remember your videos makes a lot of us get great grades in development courses :D

  • @civ20
    @civ20 3 роки тому

    Funny thing, I just started looking into arrays and sorting algorithms today and suddenly this video pops up. Great work!

  • @watson494
    @watson494 3 роки тому +1

    Yes I want to know the rest of it! Great video dude, thanks for sharing it with us.

  • @DimitrisTheo
    @DimitrisTheo 3 роки тому

    Great video! Cant wait for the part 2💡

  • @TheAlpha021
    @TheAlpha021 3 роки тому

    Glad I saw this on my recommended today. I would love to see the 4 other data structures :D

  • @kvelez
    @kvelez 11 місяців тому

    Astounding video, thanks.
    Hope you do classic coding interview algorithms.

  • @TuRaTic
    @TuRaTic 3 роки тому +1

    FINALLY A MAN I CAN UNDERSTAND, HE TALKS IN METAPHORS AND EXPLAINS THE NUANCCEEEEE & PLAYED WOW ERMAGERD TAKE MY MONEY

  • @atlasveldine6314
    @atlasveldine6314 3 роки тому

    Great video. Didn't get too in depth, which is nice since people can just research further what they are interested in. I'm mostly commenting to help with the UA-cam algorithm. I'm teaching my wife to program and have been on the lookout for good, simple, and concise UA-cam videos to show her. I tend to be... well, let's just say, not concise, and often find my long explanations go over her head. This video nailed exactly what I'm looking for. Thanks for the great content. ♥️

  • @grickyh
    @grickyh 3 роки тому

    Nice one, this was really helpful and easy to take notes from. Look forward to the next episode.

  • @DatascienceConcepts
    @DatascienceConcepts 3 роки тому

    Great insights...Hash-tables/Dictionaries are one of the most useful ones I feel.

  • @02nissansentracs
    @02nissansentracs 3 роки тому

    This was done extremely well. I already knew all the info but stayed anyways lol I would love to see more content like this.

  • @nathanwise9271
    @nathanwise9271 3 роки тому

    Know these data structures but I'm still gonna watch. Would love a video covering: graphs, trees, hash tables and heaps

  • @Ana-xm6uu
    @Ana-xm6uu 3 роки тому

    Yes! Please create another video on the rest of the data structures. I bet that if you go over their implementation on a future video would be even better!

  • @osinedges
    @osinedges 3 роки тому

    What camera do you use for your videos? It's always ridiculously crystal clear!

  • @ori_geva
    @ori_geva 3 роки тому +3

    I want it all
    Regarding what you said at the beginning, would you consider making a "You Need To Know" playlist with videos like this?
    I already know a lot of them but I'd love watching you go over all of them, even the more specific ones.
    Perhaps you could make design patterns videos as well?

  • @orlandomolinares6395
    @orlandomolinares6395 3 роки тому

    Dude the visual quality on this video is on point.