ENGLISH

Grokking Algorithms, Second Edition (MEAP v1)

Book information

Publisher
Manning Publications
Year
2023
Language
english
Format
PDF
Filesize
9 MB (9295927 bytes)
Edition
2
Pages
176\176
Time added
2023-07-01 12:01:20

Description

A friendly, fully-illustrated introduction to the most important computer programming algorithms. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. This book will prepare you for those pesky algorithms questions in every programming job interview and help you apply them in your day-to-day work. And if you want to understand them without slogging through dense multipage proofs, this is the book for you. In Grokking Algorithms, Second Edition you will discover Search, sort, and graph algorithms Data structures such as arrays, lists, hash tables, trees, and graphs NP complete and greedy algorithms Performance trade-offs between algorithms Exercises and code samples in every chapter Over 400 illustrations with detailed walkthroughs The first edition of Grokking Algorithms proved to over 100,000 readers that learning algorithms doesn't have to be complicated or boring! This new edition now includes fresh coverage of trees, NP complete problems, and code updates to Python 3. With easy-to-read, friendly explanations, clever examples, and exercises to sharpen your skills as you learn, you’ll actually enjoy learning these important algorithms. about the book Grokking Algorithms, Second Edition makes it easy to learn. You’ll never be bored—complex concepts are all explained through fun cartoons and memorable examples that make them stick. You'll start with tasks like sorting and searching, then build your skills to tackle more advanced problems like data compression and artificial intelligence. This revised second edition contains brand new coverage of trees, including binary search trees, balanced trees, B-trees and more. You’ll also discover fresh insights on data structure performance that takes account of modern CPUs. Plus, the book’s fully annotated code samples have been updated to Python 3. By the time you reach the last page, you’ll have mastered the most widely applicable algorithms, know when and how to use them, and be fully prepared when you’re asked about them on your next job interview. about the reader Suitable for self-taught programmers, engineers, job seekers, or anyone who wants to brush up on algorithms. about the author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Grokking Algorithms, Second Edition MEAP V01 Copyright Welcome Brief contents Chapter 1: Introduction to algorithms Introduction What you’ll learn about performance What you’ll learn about solving problems Binary search A better way to search Exercises Running time Big O notation Algorithm running times grow at different rates Visualizing different Big O run times Big O establishes a worst-case run time Some common Big O run times Exercises The traveling salesperson Recap Chapter 2: Selection sort How memory works Arrays and linked lists Linked lists Arrays Terminology Exercise Inserting into the middle of a list Deletions Exercises Selection sort Example code listing Recap Chapter 3: Recursion Recursion Base case and recursive case The stack The call stack Exercise The call stack with recursion Exercise Recap Chapter 4: Quicksort Divide & conquer Exercises Quicksort Big O notation revisited Merge sort vs. quicksort Average case vs. worst case Exercises Recap Chapter 5: Hash tables Hash functions Exercises Use cases Using hash tables for lookups Preventing duplicate entries Using hash tables as a cache Recap Collisions Performance Load factor A good hash function Exercises Recap Chapter 6: Breadth-first search Introduction to graphs What is a graph? Breadth-first search Finding the shortest path Queues Exercises Implementing the graph Implementing the algorithm Running time Exercise Recap Chapter 7: Trees Your first tree File Directories A Space Odyssey: depth-first search A better definition of trees Binary trees Huffman coding Recap

Similar books