کتاب درک شهودی الگوریتم‌ها – ویرایش دوم اثرAditya Y Bhargava

عنوان:

Grokking Algorithms, Second Edition

نویسنده:

Aditya Y Bhargava

انتشارات:

Manning

تاریخ انتشار:

2024

حجم:

7.8MB

دانلود

معرفی کتاب:" درک شهودی الگوریتم‌ها – ویرایش دوم "

مقدمه‌ای دوستانه و تصویری بر الگوریتم‌ها برای همه

این کتاب برای کسانی نوشته شده که می‌خواهند الگوریتم‌ها را بدون درگیر شدن با ریاضی پیچیده یا اصطلاحات خشک یاد بگیرند. نویسنده با بیش از ۴۰۰ تصویر و ده‌ها مثال واقعی، مفاهیم مهم را به‌صورت گام‌به‌گام توضیح می‌دهد.

آنچه در این کتاب خواهید آموخت:

  • الگوریتم‌های پایه مانند جست‌وجو، مرتب‌سازی و الگوریتم‌های گرافی
  • ساختارهای داده شامل آرایه‌ها، لیست‌ها، هش‌تیبل، درخت‌ها و گراف‌ها
  • مفاهیم پیشرفته مانند الگوریتم‌های حریصانه، NP-کامل و برنامه‌نویسی پویا
  • مقایسه عملکرد الگوریتم‌ها با تحلیل ساده
  • کدهای Python 3 برای تمامی الگوریتم‌ها

ویژگی‌های ویرایش دوم:

  • افزودن مطالب کامل‌تری درباره درخت‌های دودویی، AVL، B-tree و درخت‌های متوازن
  • نکاتی درباره بهینه‌سازی کد با توجه به معماری پردازنده‌ها
  • به‌روزرسانی کامل تمامی کدها به Python 3

مخاطب: هر کسی که می‌خواهد الگوریتم‌ها را از پایه و به روشی شهودی بیاموزد – بدون نیاز به پیش‌زمینه قوی در ریاضی یا علوم کامپیوتر.

نویسنده: آدیتیا بارگاوا، مهندس نرم‌افزار و نویسنده وبلاگ adit.io با ترکیب تجربه‌ی فنی و هنری.

فهرست مطالب

  • Contents
  • inside front cover
  • Praise for the First Edition
  • Grokking Algorithms
  • Copyright
  • Dedication
  • contents
  • front matter
  • foreword
  • preface
  • acknowledgments
  • about this book
  • about the author
  • Chapter 1. Introduction to algorithms
  • Binary search
  • Big O notation
  • Recap
  • Chapter 2. Selection sort
  • How memory works
  • Arrays and linked lists
  • Which is used more, arrays or linked lists?
  • Selection sort
  • Example code listing
  • Recap
  • Chapter 3. Recursion
  • Recursion
  • Base case and recursive case
  • The stack
  • Recap
  • Chapter 4. Quicksort
  • Divide and conquer
  • Quicksort
  • Big O notation revisited
  • Recap
  • Chapter 5. Hash tables
  • Hash functions
  • Use cases
  • Collisions
  • Performance
  • Recap
  • Chapter 6. Breadth-first search
  • Introduction to graphs
  • What is a graph?
  • Breadth-first search
  • Implementing the graph
  • Implementing the algorithm
  • Recap
  • Chapter 7. Trees
  • Your first tree
  • A space odyssey: Depth-first search
  • Binary trees
  • Huffman coding
  • Recap
  • Chapter 8. Balanced trees
  • A balancing act
  • Shorter trees are faster
  • AVL trees: A type of balanced tree
  • Splay trees
  • B-trees
  • Recap
  • Chapter 9. Dijkstra’s algorithm
  • Working with Dijkstra’s algorithm
  • Terminology
  • Trading for a piano
  • Negative-weight edges
  • Implementation
  • Recap
  • Chapter 10. Greedy algorithms
  • The classroom scheduling problem
  • The knapsack problem
  • The set-covering problem
  • Recap
  • Chapter 11. Dynamic programming
  • The knapsack problem (revisited)
  • Knapsack problem FAQ
  • Longest common substring
  • Recap
  • Chapter 12. k-nearest neighbors
  • Classifying oranges vs. grapefruit
  • Building a recommendations system
  • Regression
  • Introduction to machine learning
  • A high-level overview of training an ML model
  • Recap
  • Chapter 13. Where to go next
  • Linear regression
  • Inverted indexes
  • The Fourier transform
  • Parallel algorithms
  • map/reduce
  • Bloom filters and HyperLogLog
  • HTTPS and the Diffie–Hellman key exchange
  • Locality-sensitive hashing
  • Min heaps and priority queues
  • Linear programming
  • Epilogue
  • Appendix A. Performance of AVL trees
  • Appendix B. NP-hard problems
  • Decision problems
  • The satisfiability problem
  • Hard to solve, quick to verify
  • Reductions
  • NP-hard
  • NP-complete
  • Recap
  • Appendix C. Answers to exercises
  • index
  • inside back cover

مشخصات

نام کتاب

Grokking Algorithms, Second Edition

نویسنده

Aditya Y Bhargava

انتشارات

Manning

تاریخ انتشار

2024

ISBN

9781633438538

تعداد صفحات

494

زبان

انگلیسی

فرمت

pdf

حجم

7.8MB

موضوع

Algorithms