Title: Beginning Algorithms Author(s): Simon Harris, James Ross Pages: 591 Publisher: Wrox Publication date: 2005 Language: English Format: PDF ISBN-10: 0764596748 ISBN-13: Description: Contents
Chapter 1: Getting Started
Chapter 2: Iteration and Recursion
Chapter 3: Lists
Chapter 4: Queues
Chapter 5: Stacks
Chapter 6: Basic Sorting
Chapter 7: Advanced Sorting
Chapter 8: Priority Queues
Chapter 9: Binary Searching and Insertion
Chapter 10: Binary Search Trees
Chapter 11: Hashing
Chapter 12: Sets
Chapter 13: Maps
Chapter 14: Ternary Search Trees
Chapter 15: B-Trees
Chapter 16: String Searching
Chapter 17: String Matching
Chapter 18: Computational Geometry
Chapter 19: Pragmatic Optimization
Appendix A: Further Reading
Appendix B: Resources
A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently. This is the only book to impart all this essential information-from the basics of algorithms, data structures, and performance characteristics to the specific algorithms used in development and programming tasks.
Packed with detailed explanations and instructive examples, the book begins by offering you some fundamental data structures and then goes on to explain various sorting algorithms. You'll then learn efficient practices for storing and searching by way of hashing, trees, sets, and maps. The authors also share tips on optimization techniques and ways to avoid common performance pitfalls. In the end, you'll be prepared to build the algorithms and data structures most commonly encountered in day-to-day software development.
What you will learn from this book
- The basics of algorithms, such as iteration and recursion
- Elementary data structures such as lists, stacks, and queues
- Basic and advanced sorting algorithms including insertion sort, quicksort, and shell sort
- Advanced data structures such as binary trees, ternary trees, and heaps
- Algorithms for string searching, string matching, hashing, and computational geometry
- How to use test-driven development techniques to ensure your code works as intended
- How to dramatically improve the performance of your code with hands-on techniques for profiling and optimization
Who this book is for
This book is for anyone who develops applications, or is just beginning to do so, and is looking to understand algorithms and data structures. An understanding of computer programming is beneficial.
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.