Grokking Algorithms, Second Edition (MEAP v1)

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.

Author(s): Aditya Bhargava
Edition: 2
Publisher: Manning Publications
Year: 2023

Language: English
Pages: 176

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