本书系统地介绍了各种常用的数据结构,内容丰富,概念讲解清楚,叙述严谨流畅,逻辑性强。书中配备了大量的案例,每个案例都经过精心的考虑,既能帮助读者理解知识,又具有启发性。本书对给出的每一种算法,均先描述了它的基本思路和要点,使得算法清晰易读,便于学生理解和掌握。
本书共分9章,内容包括绪论,线性表,栈和队列,串、多维数组和广义表,树和二叉树,图,查找,排序和综合实训。
本书系统地介绍了各种常用的数据结构,内容丰富,概念讲解清楚,叙述严谨流畅,逻辑性强。书中配备了大量的案例,每个案例都经过精心的考虑,既能帮助读者理解知识,又具有启发性。本书对给出的每一种算法,均先描述了它的基本思路和要点,使得算法清晰易读,便于学生理解和掌握。
本书共分9章,内容包括绪论,线性表,栈和队列,串、多维数组和广义表,树和二叉树,图,查找,排序和综合实训。
本书可作为全国高等学校计算机类专业或信息类专业的教材,也可供广大从事计算机工程与应用的科技工作者参考。
第1章 绪论
1.1 基本概念和术语
案例1.1 数据模型的确定
1.2 算法和算法评价
案例1.2 矩阵乘法算法的时间复杂度分析
本章小结
习题1
第2章 线性表
2.1 线性表的顺序存储
案例2.1 模拟集合的基本运算
2.2 线性表的链式存储
案例2.2 一元多项式的加法运算
案例2.3 采用循环链表模拟约瑟夫(Josephus)问题
本章小结
习题2
第3章 栈和队列
3.1 栈
案例3.1 数制转换(十进制数转换为二、八、十六进制数)
案例3.2 后缀表达式的求值
3.2 栈与递归
案例3.3 迷宫问题
3.3 队列
案例3.4 农夫过河问题
本章小结
习题3
第4章 串、多维数组和广义表
4.1 串
案例4.1 模拟“天书密码”的生成和破解
案例4.2 无回溯的模式匹配
4.2 多维数组和广义表
案例4.3 稀疏矩阵的转置
本章小结
习题4
第5章 树和二叉树
5.1 树和二叉树的存储表示
案例5.1 完全二叉树的基本运算
5.2 树和二叉树的遍历
案例5.2 表达式树的构造及输出
5.3 线索二叉树
案例5.3 中序线索二叉树及其遍历
5.4 哈夫曼树及其应用
案例5.4 哈夫曼编码器
本章小结
习题5
第6章 图
6.1 图的存储和遍历
案例6.1 图的连通性判定
6.2 最小生成树和最短路径
案例6.2 局域网络布线问题
6.3 有向无环图及其应用
案例6.3 教学计划的编制
本章小结
习题6
第7章 查找
7.1 线性表的查找
案例7.1 学生信息表的分块查找
7.2 树表的查找
案例7.2 借助二叉排序树实现单词统计
7.3 散列表的查找
案例7.3 散列表的双散列探测查找
本章小结
习题7
第8章 排 序
8.1 插入排序
案例8.1 希尔排序
8.2 交换排序
案例8.2 双向冒泡排序
8.3 选择排序
案例8.3 堆排序
8.4 归并排序和基数排序
案例8.4 链式基数排序
本章小结
习题8
第9章 综合实训
实训1 停车场管理
实训2 五叉路口交通灯的管理系统
本章小结
习题9
附录 常用数据结构的类型定义