Hash Tables and Hash Functions

Поділитися
Вставка
  • Опубліковано 4 бер 2017
  • This computer science video describes the fundamental principles of the hash table data structure which allows for very fast insertion and retrieval of data. It covers commonly used hash algorithms for numeric and alphanumeric keys and summarises the objectives of a good hash function. Collision resolution is described, including open addressing techniques such as linear and quadratic probing, and closed addressing techniques such as chaining with a linked list.

КОМЕНТАРІ • 1,5 тис.

  • @ryanbutterfield5038
    @ryanbutterfield5038 6 років тому +4082

    You deserve my data structures professor's salary

  • @ThePandaGuitar
    @ThePandaGuitar 6 років тому +1217

    Your voice sounds like a National Geographic documentary. Amazing explanation! Subscribed.

    • @Wow55579
      @Wow55579 4 роки тому +2

      This guy taught me ict when i was little trust me he sounds just like it

    • @joerj2460
      @joerj2460 4 роки тому

      ThePandaGuitar he’s my computer science teacher

    • @Peter-wm7fj
      @Peter-wm7fj 3 роки тому +2

      His British accent sounds so cool!

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

      😂😂😂😂😂😂😂

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

      he sounds a little bit like Tom Scott

  • @MartinBojmaliev
    @MartinBojmaliev 6 років тому +784

    Before 14 minutes, I thought I will never understand Hash Tables.
    Good work and Thank you.

    • @ComputerScienceLessons
      @ComputerScienceLessons  6 років тому +67

      They are actually quite simple in principal aren't they! Thanks for the comment.

    • @MartinBojmaliev
      @MartinBojmaliev 6 років тому +13

      We got the reason here why they are used and how ... then it's very easy to use them in the right way !

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

      same here, this video is so cool.

    • @stefanshapkarov184
      @stefanshapkarov184 Рік тому +1

      Exactly sir, very good video indeed.

    • @atanasatanasov5119
      @atanasatanasov5119 Рік тому +1

      He is a life saver isn't he?!

  • @nap163020
    @nap163020 3 місяці тому +12

    Why did I spend all that money on an engineering degree, when all I needed was this channel!!!

  • @joegarza8391
    @joegarza8391 3 роки тому +266

    Years after, this video is still immensely valuable. This is what teaching is supposed to look like. Thank you for your amazing work!

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 роки тому +21

      Thank you. Crikey! that was uploaded nearly 5 years ago! :)KD

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

      There are so many things wrong with this 'explanation' I'm not surprised that a half wit like you is impressed by this video.
      You defininetly have no idea what he is saying here. And he is talking utter nonsense.

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

      This video
      So clear and easy to understand
      Thank you
      🏆🏆🏆

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

      @@TheeSlickShady You understood nothing so you can stop pretending.

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

      @@ThunderAppeal haha got me!

  • @mrwess1927
    @mrwess1927 5 років тому +589

    This is what youtube is for. Just a clear explanation of interesting ideas. +1

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

      CAKE BAKING ua-cam.com/video/Ds9Jhu5E1sI/v-deo.html&ab_channel=MisterWessells

  • @hotlinkster123
    @hotlinkster123 3 роки тому +98

    "indices are calculated from the data" thats literally all I needed to understand hash tables but surpirsingly I've never heard it once when people have mentioned them. Of course the bit on how to handle collisions was useful as well

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 роки тому +21

      Exactly - that is the essence of a hash table - it's that simple. A basic understanding of how physical RAM works explains why one memory location can can be accessed just as quickly as any other. :)KD

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

      Same for me

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

      For me that part was intuitive, but I didn't understand how you would deal with that process creating multiple entries in the same index. This video was a big aha moment.

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

      That is exactly what i thought. Exactly that one piece of information that i was missing. I have no idea why that was never made clear anywhere else i looked.

  • @tweedyburd007
    @tweedyburd007 Рік тому +31

    You actually explain it as if we've never heard of the concept before! Something a lot of CS professors seem to not understand...

  • @abdullahakram4942
    @abdullahakram4942 5 років тому +19

    you basically summarized 3 whole lectures of class into just 14 minutes. You're a life saver!

  • @utsabshrestha277
    @utsabshrestha277 5 років тому +317

    Now this is a real education , so well described, you got the real tallent sir, really appreciating.
    You teaching approach can make anyone from zero to hero

  • @kola844
    @kola844 4 роки тому +22

    Professors should just play videos like this at the start of class. Would improve student performance immensely.

  • @lucianojadur
    @lucianojadur 3 роки тому +44

    I've never thought I could find such well presented and easy-to-follow explanaition about this topic in less tan 15 minutes. It's a gem among stones.

  • @neeyatiajmera869
    @neeyatiajmera869 4 роки тому +20

    By far one the best explanation videos I've ever watched. The most useful 14 minutes of my life. Thanks!

  • @deancj1
    @deancj1 2 роки тому +11

    This is the clearest, most concise explanation of this structure I've come across. Thank you! A lot of people really muddy this subject up.

  • @tinojaa6749
    @tinojaa6749 2 роки тому +15

    In a perfect world every teacher would be as clear as this guy :)

  • @victorboateng5449
    @victorboateng5449 2 роки тому +6

    This was posted 5 years ago but I can say it is still relevant today. Appreciate the wonderful explanation

  • @Lexoka
    @Lexoka 5 років тому +95

    The video is very, very, very well made. That's a great deal of information in just under 14 minutes, and it is very clearly presented. You've more than earned a new subscriber.

  • @kevin_machine_learning
    @kevin_machine_learning 5 років тому +11

    Some Profs can, of course, explain what is hash table, but you just do that in about 10 mins!!!
    Your explanation is so clear and easy to understand, I think that is what students are looking for! Thank you Sir!

  • @kuyabongekamayeza1751
    @kuyabongekamayeza1751 2 місяці тому +1

    I come across this page today. A game changer, I tell you!!!!!! Thank you sooo much.

  • @Brodkaproduction
    @Brodkaproduction 15 днів тому

    Your explanation of collisions and their solutions (5:06) is the most comprehensive I've come across while brushing up on my fundamentals during my job search. I'm elated I stumbled across your video. Thank you so much for this.

  • @keeperkell13
    @keeperkell13 5 років тому +6

    I don't normally comment on videos but this was the most helpful explanation of what a hash table is and how to use one. I have been looking for good articles and videos for a couple of hours before I found this video! So thank you!

  • @sushruttabakade6088
    @sushruttabakade6088 5 років тому +5

    Tens of books couldn't teach me what you just did in a couple of minutes. you are fantastic!!!

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

    Proper explanations, logically and clearly expounded, in comprehensible English. This sort of material is by no means easy to find.

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

    i have been searching on youtube for almost an hour but couldnt find an appropriate video of explanation of hash table until i find this video .....beautifull explanation

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

    This just cleared every possible doubt that I could possibly have related to hash tables.

  • @lanat4260
    @lanat4260 5 років тому +4

    I spent hours trying to understand this for my final exam tomorrow to no avail. Until i came across your video! Thank you so much for this :)

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

    A big thank you. 2 hours of lectures couldn't explain what you did in 1 UA-cam video.

  • @mubafaw
    @mubafaw 4 місяці тому +1

    Absolute legend. The best introductory video I have seen so far on Hash Tables and Hash functions. Thank you, Thank you, Thank you 😊😊😊

  • @BorlandC452
    @BorlandC452 5 років тому +3

    I've been watching quite a few hash table videos lately. This is the best one I've come across.

  • @arielspalter7425
    @arielspalter7425 4 роки тому +7

    Fantastic tutorial. Just perfect pace, perfect intonation, perfect graphics and perfect depth to explain the topic to non-educated programmers like me. Subscribed!

  • @patrickd791
    @patrickd791 4 роки тому +2

    Really eloquent description of the subject. This is the first time I feel like I actually know something about Hash Tables. Thank you.

  • @m.l.c.m.madhawa4649
    @m.l.c.m.madhawa4649 Рік тому

    This is the clearest and most concise explanation I've come across

  • @charlesbaldo
    @charlesbaldo 4 роки тому +9

    I just found this. As a professional with 30 year experience with data analysis you are spot on, well explained. I subscribed and set notifications on, hope to see plenty more from you.

  • @casanovavzla
    @casanovavzla 5 років тому +3

    You just got me like 1:30 hour of sleeping instead of having to search the entire internet.... Thanks a lot! Suscribed!

  • @charbelalam2648
    @charbelalam2648 2 роки тому +1

    You literally are the only person to ever make me understand this mess. Thank you so so much!

  • @chasingthestereotype6420
    @chasingthestereotype6420 4 роки тому +2

    thank god you decided to record youtube videos. You just destroyed my fear of hashing in under 15 minutes, you have my eternal gratitude

  • @WaqasAhmadVlogs
    @WaqasAhmadVlogs 5 років тому +8

    Holy shit! You made it sound like a piece of cake. I've been hearing about hash tables for so long and always thought it must be a rocket science until now. Hats off to you sir

  • @MdMainuddinJU
    @MdMainuddinJU 5 років тому +18

    This is one of the best lectures I have ever found to understand something clearly and precisely, yet in a reasonably short time.

  • @parthvirana4148
    @parthvirana4148 2 роки тому +1

    Some people are amazing coders but not amazing at explaining, and you are the exception

  • @TonyKingOfTheOzone
    @TonyKingOfTheOzone 3 місяці тому +1

    CS 260 student here and Chat GPT recommended this video. I can see why, this was so helpful as someone who literally has never coded a hash table into a project yet this video is exciting to see how I can store data and access it. Now I cant wait to start coding this into a project!

    • @ComputerScienceLessons
      @ComputerScienceLessons  3 місяці тому +1

      Delighted to help. It's interesting to hear I have the attention of chatbots. :)KD

  • @kubamaruszczyk4043
    @kubamaruszczyk4043 5 років тому +5

    The best explanation I have encountered so far. Thank you!

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

    Never heard someone so hyped about hash tables, but I love it. Thanks for the great explanation!

  • @unitedtomato5444
    @unitedtomato5444 2 роки тому +1

    I like how he speaks without any pauses or mistakes.

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

    What???
    This is probably the most insane condensation of information I have ever seen.
    My professors put up a 2 hour lecture, with an additional 1 hour lecture of extra material if we needed it.
    Had no fking idea what they were talking about. This video, I completely understand it.
    Thanks.

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

      Thank you for the complement. Maybe you should send your professor a link to this video :)KD

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

      @@ComputerScienceLessons Haha perhaps, or at least to the others taking the course

  • @VolkWasHere
    @VolkWasHere 5 років тому +33

    Give this man a Medal, thank you!

  • @Shalaby2002
    @Shalaby2002 Рік тому +5

    I just stumbled upon your video and I must say, you did an amazing job! Your clear and concise explanation helped me understand the concept better than any textbook or lecture ever could. Your use of examples and visual aids made the topic so much easier to grasp.

  • @CarlNeuDitters
    @CarlNeuDitters 4 роки тому +1

    Fantastic. Not only did you lay out the problem well, and explain how hash tables work but you even set a good example of what any kind of teaching should be.

  • @RahulTandel
    @RahulTandel 3 місяці тому +1

    Thank you for the clear and concise explanation without making it sound like we're studing rocket science.

  • @polomame
    @polomame 5 років тому +3

    I don't normally like videos on youtube, but you helped me understand this concept.

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

    ok this was brilliant . we need more teachers like you . understanding whats going rather than just learning by heart .

  • @PENCILARTAbhishekHimanshu
    @PENCILARTAbhishekHimanshu Рік тому +2

    can't stop myself to like this video. obsessed with the explanation

  • @jorgeramos9350
    @jorgeramos9350 5 років тому +1

    I have reviewed several UA-cam explanations about hash tables and hash functions, and none come close to this one. It was clear and to the point. Great job and thank you!

  • @ryanbarry7670
    @ryanbarry7670 5 років тому +6

    Better explanation than my tutor did in 3 hours! So cool, thanks for posting the video!

  • @jannesvanquaillie9151
    @jannesvanquaillie9151 5 років тому +3

    This is a SUPER good video.
    I've always wondered how hash table worked.
    But I didn't think it was this genius.

  • @expertz
    @expertz 6 місяців тому +1

    It is very hard to find a video that is this concise and easy-to-understand at the same time. Everything is summarized perfectly

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

    Very fortunate to find this great UA-cam channel

  • @sujithav8871
    @sujithav8871 5 років тому +13

    very good explanation. after a long time, i found a good lecture for hash table. thank you so much for your wonderful lecture

  • @intrepidsouls
    @intrepidsouls 4 роки тому +4

    That is what we call a man born to be a teacher.

  • @doomedoptimism1015
    @doomedoptimism1015 Рік тому +2

    Best explanation I have heard yet to explain hash tables, bravo. To me when I think of what is an elegant solution to a complicated problem, it doesn't get much better than this kind of thing.

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

      Thank you so much. I do agree, some of these standard data structures and algorithms are pure genius :)KD

  • @ganeshs2470
    @ganeshs2470 Рік тому +2

    I seriously appreciate the amount of clarity you have before delving in and making the concept much more easier and understandable. Seriously appreciate your explanation and presentation. Keep up and continue the good work.

  • @monishagowda8928
    @monishagowda8928 5 років тому +7

    And that's how you teach!!! Thank you so much for such a clear explanation 😊

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

    You already got tons of love in the comments, but you deserve one more. Very well explained with simple, yet very useful, animations. Thank you very much for the great work! :-)

  • @felizdeannemayao4811
    @felizdeannemayao4811 4 роки тому +2

    I love how excited, eccentric and passionate he sounds. Sounds very motivating for me!

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

    This is the best video available on youtube for hashing. I mean really. I scoured youtube to understand this concept. But you explained it in such an awesome manner. I hate youtube for not recommending me this sooner. I love youtube bcoz it recommended me this.

  • @mushusax
    @mushusax 6 років тому +198

    The examples he uses are real. Ex:
    Bea = Beatrice Tinsley; created galaxy models
    Ada Lovelace = Ada Lovelace; the first programmer

    • @ComputerScienceLessons
      @ComputerScienceLessons  6 років тому +185

      Mostly...
      Beatrice Tinsley (Astronomer)
      Tim Berners Lee (Computer Scientist of WWW fame)
      Leo Adelman (Mathematician of RSA fame)
      Jan Łukasiewicz (Logician of reverse Polish notation fame)
      Lou Kauffman (Mathematician - of polynomial fame)
      Max Newman (Mathematician and code breaker)
      Ada Lovelace(Computer Scientist)
      Ted Nelson (Computer Scientist and Philosopher)
      Sam (Sam Malone - the guy in Cheers)
      Mia (the space station)
      Zoe (Zoe Saldana - Guardians of the Galaxy, Star Trek)

    • @Afdch
      @Afdch 5 років тому +4

      @@ComputerScienceLessons Except the space station is MIR, not MIA. Just saying.

    • @ComputerScienceLessons
      @ComputerScienceLessons  5 років тому +22

      мое орфографическое отстой

    • @SJ23982398
      @SJ23982398 5 років тому +7

      Yeah and Tod is real too. Tod Einstein. Famous for drinking a relatively large amount of beer in a very short amount of time.

    • @charlesbaldo
      @charlesbaldo 4 роки тому

      M Detlef she died. A life of debauchery is often short.

  • @stephan553
    @stephan553 4 роки тому +6

    One _very important_ case against open addressing is that any case where the key is not contained in the hash map can only be resolved in O(n) time, that is a time linear to the length of the whole map. Closed addressing can resolve this by simply traversing the much shorter list at the respective key.
    No matter if databases, caches or many other use cases, looking up a missing key is a very common situation.

    • @your-mom-irl
      @your-mom-irl Рік тому +1

      That shouldn't matter much if the load factor is kept low and the hash function has a good distribution, but yeah it is a possibility lol
      A uniform distribution with 50% load factor will give you an average of just 1 miss

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

    I have been watching many videos, but This video has explained Hash tables in the best possible way!

  • @Fandrir
    @Fandrir Рік тому +1

    I was about to give up on understanding Hash Tables and then finally i find this video that makes it so damn clear and comprehensible. I don't know why, but that one piece of information that tells us, that the position in the array is CALCULATED using the content of the key is never mentioned anywhere, while to me that was the most important piece of the puzzle. Thanks a lot!

    • @ComputerScienceLessons
      @ComputerScienceLessons  Рік тому +1

      You are most welcome. Another part to the puzzle is realizing that a single memory address is actually a row reference and a column reference. Hence one memory location can be accessed just as quickly as any other. You might light my series about DRAM. :)KD

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

    Just incredible, thank you for your time and efforts for these incredible videos. Your teaching abilities are through the roof!

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

    Basically i listened 2min of your video and i understood everything good job man!

  • @kardelenbuz450
    @kardelenbuz450 4 роки тому +2

    ı've been listening for a whole year from my professor and couldnt understand any of these... now even i cant believe that i got the point . thank you so much

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

    This should be the goal of all teachers. clear in logic, super easy to understand.

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

    You are the best voice actor in CS. You deserves it!

  • @safedupkid
    @safedupkid 5 років тому +4

    Excellent explanation. Appreciated the clarity and succinctness

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

    Described way better than all the other videos I've seen on this topic. Thank you

  • @navidmohammadzadeh2141
    @navidmohammadzadeh2141 5 років тому +1

    I liked what you have prepared to introduce what is clearly hashing algorithms is. Of course, I would watch it again and again.

  • @GoddamnAxl
    @GoddamnAxl 5 років тому +3

    You sir deserves a medal;

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

    this dude saving lives in 2020

  • @geybriyel2416
    @geybriyel2416 Рік тому +1

    finally, a clear and great visualization of the hash table. Thank you so much, this has been really helpful for me to understand the principle.

  • @AshishSingh-gb1yv
    @AshishSingh-gb1yv 5 років тому +2

    This is neat, well structured and excellent video for any developer to understand HashTable and gives a fair idea about HashMap concepts.
    Absolutely fabulous work done !!!

  • @LandNfan
    @LandNfan 5 років тому +4

    Excellent video! I spent the last half of my 34 years in IT working with the Advanced Pick and Unidata databases which depend heavily upon hashed access. The key to efficiency is selecting the right modulus when creating your file. Too small and you get too many collisions, too large and you waste space. The multivalue database concept goes back to the mid-60’s, but it is still hard to beat for efficiency and ease of use.

  • @kazimafzal
    @kazimafzal 5 років тому +3

    Loved the concise yet thorough explanation! More vids like this one please! Subbed!

  • @hamdansiddiqui3294
    @hamdansiddiqui3294 Рік тому +1

    We need teachers that explained like you

  • @mishalubich9366
    @mishalubich9366 4 роки тому +2

    Best Hash Table tutorial on UA-cam - it's simple and relatable. Thank you.

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

    I had a light bulb moment after only 3 minutes into this lecture... amazing! Thanks!

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

    this is the most beautiful explanation of hashing I've ever come across. Well done! All the other vids take a cryptic description and focus more on big ideas like blockchaining and encryption/security. Having a nice bit-sized chunk really helps out! Thanks!

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

      Lovely comment. Thanks for making me smile :)KD

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

      I would like it if videos like this transitioned to such bigger concepts after giving a good foundational understanding like this. Would be real helpful, especially for beginners looking to advance.

  • @manojt7012
    @manojt7012 2 роки тому +1

    What the Hell!!! This was the best ever explanation video I have ever seen...
    Man you deserve all our appreciations

  • @cogs11
    @cogs11 4 роки тому +4

    This was a great explanation ! I was even imaging how this could be coded.

  • @jenjen3
    @jenjen3 5 років тому +4

    Great video, I'm totally new to this and actually understand hashmaps now. Thank you so much!

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

    I often didn't understand where (or why) this "hash functions" came from, now I totally get it. Such a good explanation, thanks for the content!

  • @abeltadesse505
    @abeltadesse505 2 місяці тому +1

    Great video! Explained in an intuitive way from the rock bottom. Thank you!

  • @AdiPrimandaGinting
    @AdiPrimandaGinting 6 років тому +39

    You have a fine English accent, Mate. It helps my brain gear run smooth

    • @Maadhawk
      @Maadhawk 5 років тому +5

      He sounds like the guy who presents "Explaining Computers", and if he is the same guy, wouldn't surprise me one bit given the topic of both channels.

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

      CAKE BAKING ua-cam.com/video/Ds9Jhu5E1sI/v-deo.html&ab_channel=MisterWessells

  • @arlene5990
    @arlene5990 5 років тому +8

    omg i love your voice and your explanation it’s really clear, thank you!!!

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

    Definitely the best video on explaining hashtables iv come across

  • @sonnybrown4758
    @sonnybrown4758 2 роки тому +1

    This is the first video about hash tables hash maps linked lists that I actually understood. Thank you.

  • @reca117
    @reca117 7 років тому +20

    Your videos are amazing quality. Keep it up

  • @sramaiah110784
    @sramaiah110784 6 років тому +8

    Very neat explanation! Thanks for the detailed picturization of how things are stored internally.

  • @ioanacrisan3684
    @ioanacrisan3684 4 місяці тому +1

    I was getting tired after watching a bunch of videos on this subject and at the beginning of this one I was about to close it because I thought it's not gonna be engaging enough. I'm so glad I didn't, this was so interesting to watch and you explain it so simple and well. Thank you very much sir!!!

  • @farrukhahmedsid
    @farrukhahmedsid Місяць тому +1

    This video is timeless. Excellent explanation and covers good amount of concepts around topic.

  • @TheInertBoyz
    @TheInertBoyz 6 років тому +7

    That's perfect explaination....