Contents
Chapter 1 Introduction
- 1.1 Objectives
1.2 Getting Started
1.3 What Is Computer Science?
1.4 Review of Basic Python
1.8 Programming Exercises
Chapter 2 Basic Data Structures
- 2.1 Objectives
2.2 What Are Linear Structures?
2.3 Stacks
2.4 Queues 74
2.5 Deque
Chapter 3 Recursion
- 3.1 Objectives
3.2 What Is Recursion?
3.3 Stack Frames: Implementing Recursion
3.4 Complex Recursive Problems
Chapter 4 Algorithm Analysis
- 4.1 Objectives
4.2 What Is Algorithm Analysis?
4.3 Searching
- 4.4 Sorting
Chapter 5 Trees
- 5.1 Objectives
5.2 Examples of Trees
- 5.3 Vocabulary and Definitions
5.4 Implementation
5.5 Binary Tree Applications
5.6 Binary Search Trees
5.7 Priority Queues with Binary Heaps
Chapter 6 Graphs
- 6.1 Objectives
6.2 Vocabulary and Definitions
6.3 Representation
6.4 Graph Algorithms
Chapter 7 Advanced Topics
- 7.1 Objectives
7.2 Lists Revisited: Linked Lists
7.3 Recursion Revisited: Dynamic Programming
7.4 Dictionaries Revisited: Skip Lists
7.5 Trees Revisited: Quantizing Images with OctTrees
7.6 Graphs Revisited: Pattern Matching
- Appendix A Graphics Packages for
Python