Beginning Algorithms (eBook)
592 Seiten
John Wiley & Sons (Verlag)
9780470329726 (ISBN)
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.
Simon Harris started writing animated sprites on a Commodore 64 in primary school. After a break of many years, he taught himself 80x86 and IBM System/370 assembler and started working professionally. Since then he has moved from assembler to C, C++, and, of course, Java. He believes a fundamental understanding and appreciation of algorithms is essential to developing good software; and since starting his own company, RedHill Consulting, he has managed to make a living discussing and demonstrating software development practices and techniques to anyone who will listen. In his more than 15 years of development experience, James Ross has ranged from building packaged products to large enterprise systems to research into compilers and languages. In recent years, he has become a code quality fanatic and agile methods specialist, particularly with test-driven development. He works as a consultant for ThoughtWorks, the world's leading agile software development company. He is currently leading the development of a large J2EE project in the insurance industry in Melbourne, Australia. He lives with his wife and family in Melbourne.
Acknowledgments.
Introduction.
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.
Appendix C: Bibliography.
Appendix D: Answers to Exercises.
Index.
| Erscheint lt. Verlag | 28.6.2008 |
|---|---|
| Sprache | englisch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Mathematik / Informatik ► Mathematik ► Angewandte Mathematik | |
| Schlagworte | Algorithmus • Computer Science • Informatik • Programmierung u. Software-Entwicklung • Programming & Software Development |
| ISBN-13 | 9780470329726 / 9780470329726 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich