
عنوان:
The Joys of Hashing Hash Table Programming with C Edition: 2
نویسنده:
Thomas Mailund
انتشارات:
Apress
تاریخ انتشار:
2024
حجم:
5.1MB
معرفی کتاب:" لذت Hashing : برنامهنویسی جدول هش با زبان C "
ساخت پیادهسازیهای کاربردی از جدولهای هش با استفاده از زبان برنامهنویسی C
نسخه دوم این کتاب با کدهایی سادهتر و توضیحاتی جامعتر بهروزرسانی شده است تا وضوح و درک مفاهیم را افزایش دهد و در عین حال از جدیدترین ویژگیهای زبان C بهرهبرداری کند.
کتاب با پیادهسازیهای ابتدایی و ساده شروع میشود که فاقد راهکارهای مدیریت برخورد (collision) هستند. سپس به سراغ بهبودها و گسترشهایی میرود که ایدهها و رویکردهای طراحی مختلف را معرفی میکنند، و با انجام آزمایشهایی، این انتخابها را ارزیابی میکند.
در طول مسیر، خواهید آموخت که جدولهای هش چگونه در صورت پیادهسازی و استفاده مناسب، میتوانند به ساختارهایی بسیار کارآمد برای نمایش مجموعهها و جدولهای جستوجو تبدیل شوند؛ با سربار کم و عملکرد درج، حذف و جستوجوی سریع در زمان ثابت (O(1)).
آنچه در این کتاب خواهید آموخت:
- تسلط بر مفاهیم پایهای Hash Table
- پیادهسازی روشهای حل برخورد و بررسی تأثیر آنها بر عملکرد
- مدیریت تغییر اندازه جدولها هنگام رشد یا کاهش دادهها
- ذخیره مقادیر همراه با کلیدها برای ساخت Maps
مخاطبان کتاب:
این کتاب برای برنامهنویسان C که آشنایی اولیه با زبان دارند و به دنبال درک عمیقتری از ساختار دادهی جدول هش و پیادهسازی آن هستند، مناسب است.
کدهای منبع موجود در کتاب در GitHub در دسترساند و میتوانید از آنها در پروژهها و تمرینهای شخصی خود بهره ببرید.
فهرست مطالب
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Chapter 1: Introduction
- Chapter 2: Hash Keys, Indices, and Collisions
- Mapping from Keys to Indices to Bins
- Hash table operations
- Conclusion
- Chapter 3: Collision Resolution, Load Factor, and Performance
- Chaining
- Open Addressing
- Load and Performance
- Experiments
- Conclusion
- Chapter 4: Resizing
- Amortizing Resizing Costs
- Resizing Chained Hash Tables
- Resizing Open Addressing Hash Tables
- Theoretical Considerations for Choosing the Load Factor
- Experiments
- Resizing When Table Sizes Are Not Powers of Two
- Dynamic Resizing
- Chapter 5: Adding Application Keys and Values
- Generating Hash Sets
- Hash Maps
- Conclusions
- Chapter 6: Heuristic Hash Functions
- What Makes a Good Hash Function?
- Hashing Computer Words
- Hashing Strings of Bytes
- Chapter 7: Universal Hashing
- Uniformly Distributed Keys
- Universal Hashing
- Stronger Universal Families
- Constructing Universal Families
- Re-hashing
- Chapter 8: Conclusions
- Index
مشخصات
نام کتاب
The Joys of Hashing Hash Table Programming with C Edition: 2
نویسنده
Thomas Mailund
انتشارات
Apress
تاریخ انتشار
2024
ISBN
9798868808265
تعداد صفحات
225
زبان
انگلیسی
فرمت
حجم
5.1MB
موضوع
Algorithms and Data Structures