《数据结构与程序设计—c++语言描述(影印版)》
preface
1 programming principles
1.1 introduction
1.2 the game of life
1.3 programming style
1.4 coding, testing,and further refinement
1.5 program maintenance
1.6 conclusions and preview
pointers and pitfalls
review questions
references for further study
2 introduction to stacks
2.1 stack specifications
2.2 implementation of stacks
2.3 application: a desk calculator
2.4 application: bracket matching
2.5 abstract data types and their implementations
pointers and pitfalls
review questions
.references for further study
3 queues
3.1 definitions
3.2 implementations of queues
3.3 circular implementation of queues in c++ 89
3.4 demonstration and testing
3.5 application of queues: simulation
pointers and pitfalls
review questions
references for further study
4 linked stacks and queues
4.1 pointers and linked structures
4.2 linked stacks
4.3 linked stacks with safeguards
4.4 linked queues
4.5 application: polynomial arithmetic
4.6 abstract data types and their implementations
pointers and pitfalls
review questions
5 recursion
5.1 introduction to recursion
5.2 principles of recursion
5.3 backtracking: postponing the work
5.4 tree-structured programs:look-ahead in games
pointers and pitfalls
review questions
references for further study
6 lists and strings
6.1 list definition
6.2 implementation of lists
6.3 strings
6.4 application: a text editor
6.5 linked lists in arrays
6.6 application: generating permutations
pointers and pitfalls
review questions
references for further study
7 searching
7.1 searching:introduction and notation
7.2 sequential search
7.3 binary search
7.4 comparison trees
7.5 lower bounds
7.6 asymptotics
pointers and pitfalls
review questions
references for further study
8 sorting
8.1 introduction and notation
8.2 insertion sort
8.3 selection sort
8.4 shell sort
8.5 lower bounds
8.6 divide-and-conquer sorting
8.7 mergesort for linked lists
8.8 quicksort for contiguous lists
8.9 heaps and heapsort
8.10 review: comparison of methods
pointers and pitfalls
review questions
references for further study
9 tables and information retrieval
9.1 introduction:breaking the ig n barrier
9.2 rectangular tables
9.3 tables of various shapes
9.4 tables: a new abstract data type
9.5 application: radix sort
9.6 hashing
9.7 analysis of hashing
9.8 conclusions:comparison of methods
9.9 application:the life game revisited
pointers and pitfalls
review questions
references for further study
binary
10 trees
10.1 binary trees
10.2 binary search trees
10.3 building a binary search tree
10.4 height balance: avl trees
10.5 splay trees:a self-adjusting data structure
pointers and pitfalls
review questions
references for further study
11 multiway trees
11.1 orchards, trees,and binary trees
11.2 lexicographic search trees: tries
11.3 external searching: b-trees
11.4 red-blacktrees 556
pointers and pitfalls
review questions
references for further study
12 graphs
12.1 mathematical background
12.2 computer representation
12.3 graph traversal
12.4 topological sorting
12.5 a greedy algorithm: shortest paths
12.6 minimal spanning trees
12.7 graphs as data structures
pointers and pitfalls
review questions
references for further study
13 case study: the polish notation
13.1 the problem
13.2 theldea
13.3 evaluation of polish expressions
13.4 translation from infix form to polish form
13.5 an interactive
expression evaluator
references for further study
a mathematical methods
a.1 sums of powers of integers
a.2 logarithms
a.3 permutations, combinations,factorials
a.4 fibonacci numbers
a.5 catalan numbers
references for further study
b random numbers
b.1 introduction
b.2 strategy
b.3 program development
references for further study
c packages and utility functions
c.1 packages and c++ translation units
c.2 packages in the text
c.3 the utility package
c.4 timing methods
d programming precepts,pointers, and pitfalls
d.1 choice of data structures and algorithms
d.2 recursion
d.3 design of data structures
d.4 algorithm design and analysis
d.5 programming
d.6 programming with pointer objects
d.7 debugging and testing
d.8 maintenance
index