Grokking Algorithms, Second Edition 🔍
Aditya Y. Bhargava Manning Publications Co. LLC, 2, 2nd, US, 2024
English [en] · PDF · 46.8MB · 2024 · 📘 Book (non-fiction) · 🚀/lgli/lgrs/nexusstc/zlib · Save
description
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.
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.
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.
Alternative filename
lgli/Grokking Algorithms, Second Edition (Aditya Y. Bhargava).pdf
Alternative filename
lgrsnf/Grokking Algorithms, Second Edition (Aditya Y. Bhargava).pdf
Alternative filename
zlib/Computers/Algorithms and Data Structures/Aditya Y. Bhargava/Grokking Algorithms, Second Edition_27979294.pdf
Alternative title
Algorithmen kapieren : visuell lernen und verstehen : mit Illustrationen, Alltagsbeispielen und Python-Code
Alternative publisher
mitp
Alternative edition
United States, United States of America
Alternative edition
Second edition, Shelter Island, NY
Alternative edition
2. Auflage, Frechen
metadata comments
Publisher's PDF
metadata comments
{"edition":"2","isbns":["1633438538","9781633438538"],"last_page":320,"publisher":"Manning Publications","source":"libgen_rs"}
metadata comments
类型: 图书
metadata comments
出版日期: 2024
metadata comments
出版社: Manning Publications Co
Alternative description
A friendly, fully-illustrated introduction to the most important computer programming algorithms. Master the most widely used algorithms and be fully prepared when youre asked about them at your next job interview. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, youll actually enjoy learning about algorithms with this fun and friendly guide! In Grokking Algorithms, Second Edition you will 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. Youll also discover fresh insights on data structure performance that takes account of modern CPUs. Plus, the books fully annotated code samples have been updated to Python 3. Foreword by Daniel Zingaro. 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, its the perfect way to unlock the power of algorithms in your everyday work and prepare for your next coding interviewno 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. Youll 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. 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. Table of Contents 1 Introduction to algorithms 2 Selection sort 3 Recursion 4 Quicksort 5 Hash tables 6 Beadth-first search 7 Trees 8 Balanced trees 9 Dijkstras algorithm 10 Greedy algorithms 11 Dynamic programming 12 k-nearest neighbors 13 where to go next
Alternative 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.
Alternative description
grokking algorithms
brief contents
contents
foreword
preface
acknowledgments
about this book
about the author
1 introduction to algorithms
Binary search
Big O notation
2 selection sort
How memory works
Arrays and linked lists
Which is used more, arrays or linked lists?
Selection sort
Example code listing
3 recursion
Recursion
Base case and recursive case
The stack
4 quicksort
Divide and conquer
Quicksort
Big O notation revisited
5 hash tables
Hash functions
Use cases
Collisions
Performance
6 breadth-first search
Introduction to graphs
What is a graph?
Breadth-first search
Implementing the graph
Implementing the algorithm
7 trees
Your first tree
A space odyssey: depth-first search
Binary trees
Huffman coding
8 balanced trees
A balancing act
Shorter trees are faster
AVL trees: A type of balanced tree
Splay trees
B-trees
9 Dijkstra’s algorithm
Working with Dijkstra’s algorithm
Terminology
Trading for a piano
Negative-weight edges
Implementation
10 greedy algorithms
The classroom scheduling problem
The knapsack problem
The set-covering problem
11 dynamic programming
The knapsack problem (revisited)
Knapsack problem FAQ
Longest common substring
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
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
A—performance of AVL trees
B—NP-hard problems
Decision problems
The satisfiability problem
Hard to solve, quick to verify
Reductions
NP-hard
NP-complete
C—answers to exercises
index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
date open sourced
2024-03-05
Read more…
We strongly recommend that you support the author by buying or donating on their personal website, or borrowing in your local library.

🐢 Slow downloads

From trusted partners. More information in the FAQ. (might require browser verification — unlimited downloads!)

All download options have the same file, and should be safe to use. That said, always be cautious when downloading files from the internet, especially from sites external to Anna’s Archive. For example, be sure to keep your devices updated.
  • For large files, we recommend using a download manager to prevent interruptions.
    Recommended download managers: Motrix
  • You will need an ebook or PDF reader to open the file, depending on the file format.
    Recommended ebook readers: Anna’s Archive online viewer, ReadEra, and Calibre
  • Use online tools to convert between formats.
    Recommended conversion tools: CloudConvert and PrintFriendly
  • You can send both PDF and EPUB files to your Kindle or Kobo eReader.
    Recommended tools: Amazon‘s “Send to Kindle” and djazz‘s “Send to Kobo/Kindle”
  • Support authors and libraries
    ✍️ If you like this and can afford it, consider buying the original, or supporting the authors directly.
    📚 If this is available at your local library, consider borrowing it for free there.