A good understanding of algorithms, and the knowledge of when toapply them, is crucial to producing software that not only workscorrectly, but also performs efficiently. This is the only book toimpart all this essential informationfrom the basics ofalgorithms, data structures, and performance characteristics to thespecific algorithms used in development and programming tasks.
Packed with detailed explanations and instructive examples, thebook begins by offering you some fundamental data structures andthen goes on to explain various sorting algorithms. You'll thenlearn efficient practices for storing and searching by way ofhashing, trees, sets, and maps. The authors also share tips onoptimization techniques and ways to avoid common performancepitfalls. In the end, you'll be prepared to build the algorithmsand data structures most commonly encountered in day-to-daysoftware development.
What you will learn from this book
Who this book is for
This book is for anyone who develops applications, or is justbeginning to do so, and is looking to understand algorithms anddata structures. An understanding of computer programming isbeneficial.
Wrox Beginning guides are crafted to make learning programminglanguages and technologies easier than you think, providing astructured, tutorial format that will guide you through all thetechniques involved.
In his more than 15 years of development experience, JamesRoss has ranged from building packaged products to largeenterprise systems to research into compilers and languages. Inrecent years, he has become a code quality fanatic and agilemethods specialist, particularly with test-driven development. Heworks as a consultant for ThoughtWorks, the world’s leadingagile software development company. He is currently leading thedevelopment of a large J2EE project in the insurance industry inMelbourne, Australia. He lives with his wife and family inMelbourne.