LEADER 03155nam 22005415 450 001 9910900171003321 005 20250806171112.0 010 $a979-88-6880-826-5 024 7 $a10.1007/979-8-8688-0826-5 035 $a(MiAaPQ)EBC31741740 035 $a(Au-PeEL)EBL31741740 035 $a(CKB)36403442900041 035 $a(DE-He213)979-8-8688-0826-5 035 $a(CaSebORM)9798868808265 035 $a(OCoLC)1467249800 035 $a(OCoLC-P)1467249800 035 $a(EXLCZ)9936403442900041 100 $a20241026d2024 u| 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 14$aThe Joys of Hashing $eHash Table Programming with C /$fby Thomas Mailund 205 $a2nd ed. 2024. 210 1$aBerkeley, CA :$cApress :$cImprint: Apress,$d2024. 215 $a1 online resource (225 pages) 300 $aIncludes index. 311 08$a979-88-6880-825-8 327 $a1. The Joys of Hashing -- 2. Hash Keys, Indices and Collisions -- 3. Collision Resolution, Load Factor and Performance -- 4. Resizing -- 5. Adding Application Keys and Values -- 6. Heuristic Hash Functions -- 7. Universal Hashing -- 8. Conclusions. 330 $aBuild working implementations of hash tables, written in the C programming language. The new and revised Second Edition has been enhanced with simplified code and more comprehensive explanations, aimed at improving clarity and comprehension while exploiting the latest features in C programming. This book starts with simple first attempts devoid of collision resolution strategies. It then progresses through improvements and extensions illustrating different design ideas and approaches, followed by experiments to validate the choices. You will learn how hash tables, when implemented and used appropriately, are exceptionally efficient data structures for representing sets and lookup tables, providing low overhead, constant time, insertion, deletion, and lookup operations. The Joys of Hashing walks you through the implementation of efficient hash tables and the pros and cons of different design choices when building tables. The source code used in the book is available on GitHub for your re-use and experiments. What You Will Learn Master the basic ideas behind hash tables Carry out collision resolution, including strategies for handling collisions and their consequences for performance Resize or grow and shrink tables as needed Store values by handling when values must be stored with keys to make general sets and maps. 606 $aCompilers (Computer programs) 606 $aComputer programming 606 $aCompilers and Interpreters 606 $aProgramming Techniques 615 0$aCompilers (Computer programs) 615 0$aComputer programming. 615 14$aCompilers and Interpreters. 615 24$aProgramming Techniques. 676 $a005.45 700 $aMailund$b Thomas$0846442 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910900171003321 996 $aThe Joys of Hashing$92494401 997 $aUNINA