前言 1
第1章 概述 1
1.1数据结构课程的基本概念 1
1.2抽象数据类型 3
1.3算法和算法的时间复杂度 4
1.4算法设计 8
1.5算法书写规范 12
1.6上机实习内容规范 12
第2章 顺序存储结构的表、堆栈和队列 14
2.1学习指导 14
2.1.1线性表 14
2.1.2顺序存储结构 14
2.1.3顺序表 15
2.1.4堆栈和顺序堆栈 18
2.1.5队列和顺序循环队列 20
2.1.6进一步的分析讨论 23
2.2典型题解 24
2.2.1顺序表及其应用 24
2.2.2堆栈、顺序堆栈及其应用 31
2.2.3顺序循环队列及其应用 34
2.2.4顺序双向循环队列及其应用 37
2.2.5顺序优先级队列及其应用 39
2.3上机实习典型解题 40
第3章 链式存储结构的表、堆栈和队列 43
3.1学习指导 43
3.1.1链式存储结构 43
3.1.2单链表、单循环链表和双向循环链表 44
3.1.3链式堆栈 50
3.1.4链式队列 51
3.1.6进一步的分析讨论 54
3.1.5静态链表 54
3.2典型题解 55
3.2.1带头结点和不带头结点的单链表及其应用 55
3.2.2链式堆栈及其应用 63
3.2.3尾指针表示的单循环链表及其应用 65
3.2.4尾指针表示的链式队列及其应用 66
3.3上机实习典型题解 68
第4章 串、数组和矩阵 76
4.1学习指导 76
4.1.1串的定义、存储结构和操作 76
4.1.2数组的定义和操作 83
4.1.3矩阵的压缩存储 84
4.2典型题解 86
4.2.1串的基本概念和应用问题 86
4.2.2数组的基本概念和应用问题 91
4.2.3特殊矩阵和稀疏矩阵的基本概念和应用问题 92
4.3上机实习典型题解 100
第5章 递归程序设计 105
5.1学习指导 105
5.1.1递推定义式 105
5.1.2递归算法的执行过程 105
5.1.3递归算法的设计 106
5.1.4递归算法的效率分析 107
5.1.5递归算法到非递归算法的转换 109
5.2典型题解 110
5.2.1基本的递归概念和递归算法执行过程 110
5.2.2复杂的递归概念和应用问题 114
5.3上机实习典型题解 122
6.1.1广义表的基本概念 126
6.1学习指导 126
第6章 广义表 126
6.1.2广义表的存储结构 127
6.1.3广义表的操作实现 128
6.2典型题解 133
6.2.1基本概念题 133
6.2.2算法设计题 135
第7章 树与二叉树 142
7.1学习指导 142
7.1.1树的概念及有关术语 142
7.1.2二叉树 143
7.1.3树与森林 147
7.1.4哈夫曼树及其应用 149
7.1.5小结 150
7.2.1基本内容题 151
7.2典型题解 151
7.2.2算法设计与分析题 158
7.3上机实习典型题解 173
第8章 图 178
8.1学习指导 178
8.1.1图的概念 178
8.1.2图的存储结构 179
8.1.3图的遍历 181
8.1.4图的应用 183
8.1.5小结 187
8.2典型解题 188
8.2.1基本内容题 188
8.2.2算法设计与分析题 194
8.3上机实习典型题解 208
9.1.1排序的基本概念 213
9.1学习指导 213
第9章 内部排序 213
9.1.2插入排序 214
9.1.3交换排序 215
9.1.4选择排序 217
9.1.5归并排序 220
9.1.6基数排序 221
9.1.7小结 222
9.2典型题解 223
9.2.1基本内容题 223
9.2.2算法设计与分析题 229
9.3上机实习典型题解 242
10.1.1查找的基本概念 248
10.1.2线性表的查找 248
10.1学习指导 248
第10章 查找 248
10.1.3树型表的查找 251
10.1.4哈希表及其查找 253
10.1.5本章小结 255
10.2典型题解 256
10.2.1线性表查找题解 256
10.2.2树型表查找题解 256
10.2.3哈希表查找题解 265
10.3上机实习典型题解 268
附录 典型试题和解答 273
附录1 2001年西安交通大学计算机系研究生入学考题和解答 273
附录2 2001年西安石油学院计算机系研究生入学考题和解答 279
附录3 2000年西安交通大学计算机系本科生考题和解答 284
附录4 2000年高等教育自学考试全国统一命题考题和解答 291
附录5 2001年陕西省高等学校专升本招生考题和解答 299