03223nam 22005535 450 991033800750332120220407181308.09781484240663148424066910.1007/978-1-4842-4066-3(CKB)4100000007611001(DE-He213)978-1-4842-4066-3(MiAaPQ)EBC5693499(CaSebORM)9781484240663(PPN)235007382(OCoLC)1090817678(OCoLC)on1090817678(EXLCZ)99410000000761100120190209d2019 u| 0engurnn#008mamaatxtrdacontentcrdamediacrrdacarrierThe joys of hashing hash table programming with C /by Thomas Mailund1st ed. 2019.Berkeley, CA :Apress :Imprint: Apress,2019.1 online resource (XI, 206 p. 72 illus.)9781484240656 1484240650 Includes bibliographical references.1. The Joys of Hashing -- 2. Hash Keys, Indices and Collisions -- 3. Collision Resolution, Load Factor and Performance -- 4. Resizing -- 5. Adding Application Keys and Valuse -- 6. Heuristic Hash Functions -- 7. Universal Hashing -- 8. Conclusions.Build working implementations of hash tables, written in the C programming language. This book starts with simple first attempts devoid of collision resolution strategies, and moves through improvements and extensions illustrating different design ideas and approaches, followed by experiments to validate the choices. 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. You will: 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.Programming languages (Electronic computers)Computer programmingProgramming Languages, Compilers, Interpretershttps://scigraph.springernature.com/ontologies/product-market-codes/I14037Programming Techniqueshttps://scigraph.springernature.com/ontologies/product-market-codes/I14010Programming languages (Electronic computers)Computer programming.Programming Languages, Compilers, Interpreters.Programming Techniques.005.13Mailund Thomasauthttp://id.loc.gov/vocabulary/relators/aut846442UMIUMIBOOK9910338007503321The Joys of Hashing2494401UNINA