New York: Manning Publications Co., 2021. — 325 p. — (MEAP Edition). — ISBN: 1617295485.
Algorithms and Data Structures in Action expands on the basic algorithms you already know to give you a better selection of solutions to different programming problems. In it, you'll discover techniques for improving priority queues, efficient caching, clustering data, and more.
As a software engineer, you'll encounter countless programming challenges that initially seem confusing, difficult, or even impossible. Don't despair! Many of these "new" problems already have well-established solutions. Algorithms and Data Structures in Action teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications.
Algorithms and Data Structures in Action expands on the basic algorithms you already know to give you a better selection of solutions to different programming problems. In it, you'll discover techniques for improving priority queues, efficient caching, clustering data, and more. Each example is fully illustrated with graphics,
language:agnostic pseudo-code, and code samples in various languages. When you're done, you will be able to implement advanced and little-known algorithms to deliver better performance from your code.
Introducing Data Structures
Improve Over Basic Data StructuresImprove priority queues: d-way heaps
Treap: Use priority to improve binary search trees
Bloom Filters: Reduce memory needed to keep track of content
Disjoint Set: Keep a dynamic list of distinct subsets
Skip Lists
Use case: LRU Cache
Multi-dimensional queriesNearest Neighbors Search
Kd-trees: Multi-dimensional Data Indexing10Â S-Trees
Similarity Search Trees: Approximate Nearest Neighbors Search for Image Retrieval
Applications of Nearest Neighbors Search
Clustering  (k-means/DBSCAN/OPTICS)
Map Reduce and Distributed Clustering
Planar Graphs and Minimum Crossing NumberPlanarity and Crossing Number
Gradient Descent to find MCN
Extending GD with Simulated Annealing to Find Global Minimum
Using Genetic Algorithms for Faster Convergence
Quick Guide to Pseudo-Code
Big-O Notation
Core Data Structures
Containers as priority queues
Recursion
Classification problems Randomized algorithms Metrics
A short Introduction to Graphs