Advanced Algorithms and Data Structures
- 23h 31m 47s
- Marcello La Rocca
- Manning Publications
- 2021
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. Advanced Algorithms and Data Structures teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications. Providing a balanced blend of classic, advanced, and new algorithms, this practical guide upgrades your programming toolbox with new perspectives and hands-on techniques.
About the technology
Can you improve the speed and efficiency of your applications without investing in new hardware? Well, yes, you can: Innovations in algorithms and data structures have led to huge advances in application performance. Pick up this book to discover a collection of advanced algorithms that will make you a more effective developer.
About the book
Advanced Algorithms and Data Structures introduces a collection of algorithms for complex programming challenges in data analysis, machine learning, and graph computing. You’ll discover cutting-edge approaches to a variety of tricky scenarios. You’ll even learn to design your own data structures for projects that require a custom solution.
What's inside
- Build on basic data structures you already know
- Profile your algorithms to speed up application
- Store and query strings efficiently
- Distribute clustering algorithms with Map Reduce
- Solve logistics problems using graphs and optimization algorithms
For intermediate programmers.
About the author
Marcello La Rocca is a research scientist and a full-stack engineer. His focus is on optimization algorithms, genetic algorithms, machine learning, and quantum computing.
In this Audiobook
-
Chapter 1 - Introducing data structures
-
Chapter 2 - Improving priority queues: d-way heaps
-
Chapter 3 - Treaps: Using randomization to balance binary search trees
-
Chapter 4 - Bloom filters: Reducing the memory for tracking content
-
Chapter 5 - Disjoint sets: Sub-linear time processing
-
Chapter 6 - Trie, radix trie: Efficient string search
-
Chapter 7 - Use case: LRU cache
-
Chapter 8 - Nearest neighbors search
-
Chapter 9 - K-d trees: Multidimensional data indexing
-
Chapter 10 - Similarity Search Trees: Approximate nearest neighbors search for image retrieval
-
Chapter 11 - Applications of nearest neighbor search
-
Chapter 12 - Clustering
-
Chapter 13 - Parallel clustering: MapReduce and canopy clustering
-
Chapter 14 - An introduction to graphs: Finding paths of minimum distance
-
Chapter 15 - Graph embeddings and planarity: Drawing graphs with minimal edge intersections
-
Chapter 16 - Gradient descent: Optimization problems (not just) on graphs
-
Chapter 17 - Simulated annealing: Optimization beyond local minima
-
Chapter 18 - Genetic algorithms: Biologically inspired, fast-converging optimization