首页 > 图书中心 > 数据结构与算法(C语言版)

目录

目录

第1章绪论

1.1基本术语

1.2数据结构的研究内容

1.2.1数据的逻辑结构

1.2.2数据的存储结构

1.2.3数据的运算

1.3算法

1.3.1算法的定义及特性

1.3.2算法的描述

1.3.3算法的评价

1.4学习数据结构的意义和目的

小结

习题

第2章线性表

2.1线性表的定义及运算

2.1.1线性表的定义及逻辑特征

2.1.2线性表上运算的定义

2.1.3线性表的存储结构

2.2顺序表

2.2.1顺序表的定义及表示

2.2.2顺序表上基本运算的实现

2.3链表

2.3.1链表的定义

2.3.2单链表

2.3.3循环链表

2.3.4双链表

*2.3.5静态链表

2.4顺序表和链表的比较

小结

习题

第3章栈和队列

3.1栈

3.1.1栈的定义及运算

3.1.2顺序栈及运算的算法实现

3.1.3链栈及运算的算法实现

3.1.4栈的应用

3.1.5栈与递归

3.2队列

3.2.1队列的定义及运算

3.2.2顺序队列及运算的实现

3.2.3链队列及运算的实现

3.3栈与队列的比较

小结

习题

第4章多维数组和广义表

4.1多维数组

4.2矩阵的压缩存储

4.2.1特殊矩阵

4.2.2稀疏矩阵

4.3广义表

4.3.1广义表的定义

4.3.2广义表的运算

小结

习题

第5章树

5.1树的逻辑结构

5.2二叉树

5.2.1二叉树的定义及性质

5.2.2二叉树上运算的定义

5.2.3二叉树的存储

5.2.4二叉树遍历运算的算法实现

5.3线索二叉树

5.3.1中序线索二叉链表

5.3.2利用中序线索进行中序遍历的算法实现

5.3.3利用中序线索进行前序和后序遍历的算法实现

5.4哈夫曼树

5.4.1哈夫曼树的定义及建立

5.4.2哈夫曼编码及译码

5.5树和森林

5.5.1树和森林的遍历定义

5.5.2森林与二叉树的相互转换

*5.5.3树的存储

小结

习题

第6章图

6.1图的逻辑结构

6.2图的存储结构及实现

6.2.1邻接矩阵

6.2.2邻接表

6.2.3边集数组

6.2.4图的各种存储结构的比较

6.3图的遍历

6.3.1深度优先搜索算法与实现

6.3.2广度优先搜索算法与实现

6.3.3非连通图的遍历

6.4图的经典应用——最小生成树

6.4.1Prim算法

6.4.2Kruskal算法

6.5图的经典应用——最短路径

6.5.1单源最短路径

6.5.2任意两点间最短路径

6.6图的经典应用——拓扑排序

*6.7图的经典应用——关键路径

小结

习题

第7章排序

7.1排序的相关概念

7.2插入排序

7.2.1直接插入排序

7.2.2希尔排序

7.3交换排序

7.3.1起泡排序

7.3.2快速排序

7.4选择排序

7.4.1直接选择排序

7.4.2堆排序

7.5归并排序

*7.6基数排序

7.7排序方法的比较

小结

习题

第8章查找

8.1查找的相关概念

8.2顺序表查找

8.2.1顺序查找

8.2.2二分法查找

8.3索引查找

8.3.1索引表的组织

8.3.2分块查找

8.4树表查找

8.4.1二叉排序树

*8.4.2平衡二叉树

*8.4.3B树

8.5散列查找

8.5.1散列表的概念

8.5.2散列函数的设计

8.5.3解决冲突的方法

8.5.4散列表的特点

小结

习题

附录A经典结构的典型应用程序

A.1顺序表的应用

A.2单链表的应用

A.3二叉链表的应用

A.4图的遍历程序举例

A.5散列表的应用举例

参考文献

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘