0

The Joys of Hashing

eBook - Hash Table Programming with C

Erschienen am 09.02.2019
CHF 69,00
(inkl. MwSt.)

Download

E-Book Download
Bibliografische Daten
ISBN/EAN: 9781484240663
Sprache: Englisch
Umfang: 0 S., 6.49 MB
Auflage: 1. Auflage 2019
E-Book
Format: PDF
DRM: Digitales Wasserzeichen

Beschreibung

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.What You Will LearnMaster the basic ideas behind hash tablesCarry out collision resolution, including strategies for handling collisions and their consequences for performanceResize or grow and shrink tables as neededStore values by handling when values must be stored with keys to make general sets and mapsWho This Book Is ForThose with at least some prior programming experience, especially in C programming.

Autorenportrait

Thomas Mailund is an associate professor in bioinformatics at Aarhus University, Denmark. He has a background in math and computer science, including experience programming and teaching in C and R programming languages.  For the last decade, his main focus has been on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species.

Inhalt

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.

Informationen zu E-Books

Individuelle Erläuterung zu E-Books