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.
Problems described in this book:
Problem - Section --
- 0-1 Knapsack 1.3, 18.1
- Tasks list 2.2.1
- Text compression 2.8.3
- Multi-indexing 3.1
- Keep a tree balanced 3.4
- Memory-efficient contacts list 4.1
- Non-personalized recommendations 5.1
- Spell check 6.1, 6.4.1
- T9 6.4.3
- Autocomplete 6.4.4
- Caching 7.1
- Distributed cache 7.8
- Find closest entry on a 2-D map 8.1
- Nearest neighbor search 9.3.5
- Similarity search in multi-dimensional space 10.4
- Closest hub 11.1
- Color reduction (compressing colors) 11.4.1
- Optimization of multidimensional DB queries 11.4.3
- Clustering 12
- Distributed clustering 13
- Shortest path on a map 14.3.6
- Shortest path on a map (with roads) 14.4.4
- Shortest path on a dynamic map 14.5.2
- Drawing flow charts (and generic graphs) on a 2-D plane 15.1
- Graph planarity 15.2
- Segment intersection 15.4.1