Chapter 0 Preface¶
Chapter 1 Background¶
Chapter 2 Design¶
Chapter 3 AlgAnal¶
- 3.1. Chapter Introduction
- 3.2. Algorithm Analysis Summary Exercises
- 3.3. Algorithm Analysis Summary Exercises
- 3.4. Analyzing Problems
- 3.5. Asymptotic Analysis and Upper Bounds
- 3.6. Best, Worst, and Average Cases
- 3.7. Problems, Algorithms, and Programs
- 3.8. Code Tuning and Empirical Analysis
- 3.9. Calculating Program Running Time
- 3.10. Common Misunderstandings
- 3.11. Comparing Algorithms
- 3.12. Lower Bounds and \(\Theta\) Notation
- 3.13. Faster Computer, or Faster Algorithm?
- 3.14. Space Bounds
- 3.15. Multiple Parameters
Chapter 4 Appendix¶
Chapter 5 Pointers¶
- 5.1. Basic Pointers
- 5.1.1. What is a pointer?
- 5.1.2. Pointer Reference and Dereference
- 5.1.3. Pointer Assignment
- 5.1.4. Bad Pointers
- 5.1.5. Syntax
- 5.1.6. Example Pointer Code
- 5.1.7. Pointer Rules Summary
- 5.1.8. How Do Pointers Work In Java?
- 5.1.9. How Are Pointers Implemented In The Machine?
- 5.1.10. The Term 'Reference'
- 5.1.11. Why Are Bad Pointer Bugs So Common?
- 5.2. Heap Memory
- 5.3. Local Memory
- 5.4. Pointers Chapter Introduction
- 5.5. Pointers Exercises
- 5.6. Reference Parameters
Chapter 6 Linear Structures¶
- 6.1. Comparison of List Implementations
- 6.2. Array-Based List Implementation
- 6.3. Doubly Linked Lists
- 6.4. Freelists
- 6.5. Implementing Recursion
- 6.6. Linked Queues
- 6.7. Chapter Introduction: Lists
- 6.8. Linked Stacks
- 6.9. Linear Structure Summary Exercises
- 6.10. Stacks
- 6.11. List Element Implementations
- 6.12. Linked Lists
- 6.13. Queues
- 6.14. The List ADT
Chapter 7 Binary Trees¶
- 7.1. Array Implementation for Complete Binary Trees
- 7.2. Binary Search Trees
- 7.3. Binary Tree Chapter Summary
- 7.4. Binary Tree Node Implementations
- 7.5. Binary Tree Space Requirements
- 7.6. Binary Tree Traversals
- 7.7. Binary Tree as a Recursive Data Structure
- 7.8. Binary Trees
- 7.9. Binary Trees Chapter Introduction
- 7.10. Composite-based Expression Tree
- 7.11. Dictionary Implementation Using a BST
- 7.12. Heaps and Priority Queues
- 7.13. The Full Binary Tree Theorem
- 7.14. Implementing Tree Traversals