Skip to content Skip to footer
-70%

Grokking Algorithms 2nd Edition by Aditya Y. Bhargava, ISBN-13: 978-1633438538

Original price was: $50.00.Current price is: $14.99.

 Safe & secure checkout

Description

Description

Grokking Algorithms 2nd Edition by Aditya Y. Bhargava, ISBN-13: 978-1633438538

[PDF eBook eTextbook] – Available Instantly

  • Publisher ‏ : ‎ Manning
  • Publication date ‏ : ‎ March 26, 2024
  • Edition ‏ : ‎ 2nd
  • Language ‏ : ‎ English
  • 320 pages
  • ISBN-10 ‏ : ‎ 1633438538
  • ISBN-13 ‏ : ‎ 978-1633438538

A friendly, fully-illustrated introduction to the most important computer programming algorithms.

Master the most widely used algorithms and be fully prepared when you’re asked about them at your next job interview. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, you’ll actually enjoy learning about algorithms with this fun and friendly guide!

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 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.

Foreword by Daniel Zingaro.

Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.

About the technology

The algorithms you use most often have already been discovered, tested, and proven. Grokking Algorithms, Second Edition makes it a breeze to learn, understand, and use them. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, it’s the perfect way to unlock the power of algorithms in your everyday work and prepare for your next coding interview—no math required!

About the book

Grokking Algorithms, Second Edition teaches you important algorithms to speed up your programs, simplify your code, and solve common programming problems. Start with tasks like sorting and searching, then build your skills to tackle advanced problems like data compression and artificial intelligence. You’ll even learn to compare the performance tradeoffs between algorithms. Plus, this new edition includes fresh coverage of trees, NP-complete problems, and code updates to Python 3.

What’s inside

  • Search, sort, and graph algorithms
  • Data structures such as arrays, lists, hash tables, trees, and graphs
  • NP-complete and greedy algorithms
  • Exercises and code samples in every chapter

About the reader

No advanced math or programming skills required.

Table of 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

1 Introduction to algorithms

Binary search

Big O notation

Recap

2 Selection sort

How memory works

Arrays and linked lists

Which is used more, arrays or linked lists?

Selection sort

Example code listing

Recap

3 Recursion

Recursion

Base case and recursive case

The stack

Recap

4 Quicksort

Divide and conquer

Quicksort

Big O notation revisited

Recap

5 Hash tables

Hash functions

Use cases

Collisions

Performance

Recap

6 Breadth-first search

Introduction to graphs

What is a graph?

Breadth-first search

Implementing the graph

Implementing the algorithm

Recap

7 Trees

Your first tree

A space odyssey: Depth-first search

Binary trees

Huffman coding

Recap

8 Balanced trees

A balancing act

Shorter trees are faster

AVL trees: A type of balanced tree

Splay trees

B-trees

Recap

9 Dijkstra’s algorithm

Working with Dijkstra’s algorithm

Terminology

Trading for a piano

Negative-weight edges

Implementation

Recap

10 Greedy algorithms

The classroom scheduling problem

The knapsack problem

The set-covering problem

Recap

11 Dynamic programming

The knapsack problem (revisited)

Knapsack problem FAQ

Longest common substring

Recap

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

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

Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io.

What makes us different?

• Instant Download

• Always Competitive Pricing

• 100% Privacy

• FREE Sample Available

• 24-7 LIVE Customer Support

Delivery Info

Reviews (0)