Request for consultation
Strengthen your students' understanding of data structures and their algorithms for the foundation they need to successfully design, implement and maintain virtually any software system with this theoretical, yet practical, text – DATA STRUCUTRES AND ALGORITHMS IN C++, 4E. Experienced author Adam Drozdek highlights the fundamental connection between data structures and their algorithms, giving equal weight to the practical implementation of data structures and the theoretical analysis of algorithms and their efficiency. This edition provides critical new coverage of treaps, k-d trees and k-d B-trees, generational garbage collection, and additional advanced topics such as methods and a new hashing technique. Numerous, carefully selected C++ code examples, diagrams, and tables throughout help illustrate the practical importance of data structures. Useful case studies, chosen from disparate areas of computer science, including interpreters, symbolic computation, and file processing, provide valuable insights into the broad range of practical data structures implementation. DATA STRUCTURES AND ALGORITHMS IN C++ provides the balance of theory and practice students need to excel in a variety of applications in a modern, object-oriented paradigm.
- NEW SECTIONS CLARIFY ADVANCED DATA STRUCTURES AND THEIR IMPLEMENTATION. New coverage in this edition thoroughly introduces treaps (Section 6.10), details both k-d trees (Section 6.11) and k-d B-trees (Sections 7.1.5), and explains generational garbage collection (Section 12.3.4).
- NEW MATERIAL ON SORTING AND HASHING GUIDES STUDENTS THROUGH NEW EFFICIENCIES. New sections in this edition discuss additional sorting methods (Sections 184.108.40.206; 9.3.6), while coverage of a new hashing technique (Section 10.5.1) demonstrates how to more efficiently index and retrieve items in a database.
- MEANINGFUL CASE STUDIES REINFORCE KEY CONCEPTS WITH MEMORABLE, PRACTICAL APPLICATIONS. Dynamic case studies in most of this edition's chapters further highlight key concepts while providing insights into a broad range of practical data structures implementation.
- EXTENSIVE THEORETICAL ANALYSIS ENABLES YOU TO SEAMLESSLY INTEGRATE ALGORITHMS WHILE ENCOURAGING ABSTRACT THINKING. This edition's well-developed theoretical analysis centers on both the complexity and efficiency of algorithms to help you cultivate your students' strong abstract-thinking skills with an approach that enables you to seamlessly integrate algorithms into your course.
- ABUNDANCE OF MEANINGFUL C++ CODE EXAMPLES ILLUSTRATE THE IMPORTANCE OF DATA STRUCTURES. Manageable examples of C++ code throughout this edition reinforce the practical importance of data structures as readers work to design, implement, test, or maintain virtually any software system.
- CLEAR PRESENTATION OF RECURSION CLARIFIES THIS FREQUENTLY CONFUSING TOPIC. Author Adam Drozdeck draws from his extensive teaching experience to offer a precise, class-tested presentation of recursion within the context of the run-time stack. The author carefully shows the changes at each step of the run-time stack to provide a clear, illustrative hook for students to grasp.
- APPROACH EMPHASIZES INFORMATION-HIDING AND OTHER ADVANCED ENCAPSULATIONAND DECOMPOSITION PRINCIPLES. This comprehensive edition provides students with a solid foundation in data structures while exploring more progressive topics--such as information-hiding principles to advance encapsulation and decomposition--that underscore today's current design and implementation paradigm.
2. Complexity Analysis.
3. Linked Lists.
4. Stacks and Queues.
6. Binary Trees.
7. Multiway Trees.
11. Data Compression.
12. Memory Management.
13. String Matching.
Appendix A: Computing BIG-O.
Appendix B: Algorithms in the Standard Template Library.
Appendix C: NP-Completeness.