Hash Tables, Associative Arrays, and Dictionaries (Data Structures and Optimization)
An introduction to the hash table data structures, how that relates to associative arrays and dictionaries, and how to use them.
Support me on:
Patreon: https://www.patreon.com/simondevyt
Follow me on:
Twitter: https://twitter.com/iced_coffee_dev
Instagram: https://www.instagram.com/beer_and_code/
Github: https://github.com/simondevyoutube/
Covering a bit more ground with data structures, algorithms, and optimizations, we're looking at hash tables now. These are amazing, general purpose data structures that are a good fit in a lot of cases. We'll explore the different collision resolution schemes like chaining and open addressing. We'll touch on abstract data structures and the difference between an associative array (or dictionary) and a hash table. Finally, we'll do a dive through existing code to show some examples of where I've used them in a lot of the games I've built in JavaScript.
Misc Links:
http://scottmeyers.blogspot.com/2015/09/should-you-be-using-something-instead.html
https://en.wikipedia.org/wiki/Hash_table
https://en.wikipedia.org/wiki/Associative_array
https://en.wikipedia.org/wiki/Abstract_data_type
https://en.wikipedia.org/wiki/Birthday_attack
https://en.wikipedia.org/wiki/Open_addressing
https://en.wikipedia.org/wiki/Linear_probing
https://en.wikipedia.org/wiki/Quadratic_probing
https://en.wikipedia.org/wiki/Double_hashing
https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(associative_array)