本书将数据结构定义为一个抽象数据类型(即ADT),它由一个数据集合以及与数据集合绑定在一起的一组运算所构成;采用面向过程的结构化程序设计方法,用C/C++程序具体实现它,并列举了一些应用这种数据结构解决实际问题的实例。本书内容包括数组、链表、算法与数据结构绪论、线性表、栈、递归、队列、树、图、排序、搜索、散列和模板。
样章试读
目录
- 目录
第1章数组1
1.1数组概念1
1.2矩阵及其运算8
1.3数组应用举例13
习题1 17
第2章链表18
2.1单链表18
2.2循环链表27
2.3双向链表31
2.4链表应用举例37
习题2 42
第3章算法与数据结构绪论43
3.1数据结构43
3.2抽象数据类型45
3.3算法与算法分析46
3.4程序设计52
习题3 56
第4章线性表58
4.1线性表的定义与实现58
4.2线性表应用举例68
习题4 71
第5章栈72
5.1栈的定义与实现72
5.2算术表达式的求值77
5.3中序转前序或后序80
5.4前序或后序转巾序82
算法与数据结构
5.5栈应用举例82
习题5 89
第6章递归90
6.1递归定义与递归模型90
6.2递归与迭代92
6.3递归评价95
6.4递归应用举例97
习题6 100
第7章队列102
7.1队列的定义与实现102
7.2队列的推广108
7.3队列应用举例113
习题7 119
第8章树120
8.1根本概念120
8.2二叉树121
8.3二叉树的存储表124
8.4二叉树的遍历128
8.5常用二叉树132
8.6多元树与森林的二又树表示法140
8.7二叉树应用举例142
习题8 148
第9章图150
9.1基本概念150
9.2图的表示法151
9.3图的遍历155
9.4最小代价生成树164
9.5图的最短路径174
9.6网络181
习题9 185
第10章排序187
10.1基本概念187
10.2内部排序法188
习题10 205
第11章搜索207
11.1基本概念207
11.2顺序搜索207
11.3二分搜索209
11.4二叉搜索树213
习题11 220
第12章散列221
12.1散列表221
12.2散列表的搜索228
习题12 235
第13章模板236
13.1函数模板236
13.2面向对象程序设计方法简介239
习题13 247
参考文献248