
عنوان:
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
زبان
انگلیسی
فرمت
حجم
7.8MB
موضوع
Algorithms