کتاب لذت Hashing : برنامه‌نویسی جدول هش با زبان C اثر  Thomas Mailund

عنوان:

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

زبان

انگلیسی

فرمت

pdf

حجم

5.1MB

موضوع

Algorithms and Data Structures