图书详情 | 《数据结构(C语言)实践教程(第2版)》
图书分类 一 〉未分类 一 〉未分类

新世纪计算机类本科规划教材 : 数据结构(C语言)实践教程(第2版)

胡元义 著;

2014年8月

西安电子科技大学出版社

新华国采教育网络科技有限责任公司 折后价:¥34.00 定价:¥34.00
  • 西安电子科技大学出版社
  • 9787560633183
  • -
  • 180579
  • -
  • -
  • -
  • 2014年8月
  • -
  • -
  • -
  • -
  • 未分类
  • 未分类
  • -
  • TP311.12
  • -
  • -
  • -
  • -
  • -
  • -
内容简介:
  本书是作者积多年讲授与研究数据结构课程及指导学生上机实践的经验编写而成的。作者力求通过实践的角度,帮助学生深入学习、理解、掌握,并灵活应用数据结构知识。全书涵盖了数据结构课程的全部上机实践内容,对数据结构所有的理论知识均对应给出了程序实现,并且这些程序都在VC++6.O环境下调试通过。
  胡元义主编的《数据结构(C语言)实践教程(第2版新世纪计算机类本科规划教材)》可以配合目前各类数据结构(C语言)教材使用,可起到衔接教学与实践以及帮助读者开拓学习和应用视野的作用。本书实践内容丰富、程序设计独到、编程方法全面,因而也可以作为计算机应用人员的参考书。
目录
第1章 线性表
 1.1 内容与要点
  1.1.1 线性表的定义
  1.1.2 线性表的顺序存储——顺序表
  1.1.3 线性表的链式存储
 1.2 线性表实践
  实验1 顺序表及基本运算
  实验2 在表头插入生成单链表
  实验3 在表尾插入生成单链表
  实验4 单链表及基本运算
  实验5 双向链表及基本运算
  实验6 静态链表
第2章 栈和队列
 2.1 内容与要点
  2.1.1 栈
  2.1.2 队列
 2.2 栈和队列实践
  实验1 顺序栈及基本运算
  实验2 链栈及基本运算
  实验3 循环队列及基本运算
  实验4 链队列及基本运算
第3章 串
 3.1 内容与要点
 3.2 串实践
  实验1 顺序串及基本运算
  实验2 链串及基本运算
  实验3 链串中求子串运算
  实验4 链串中串插入运算
  实验5 串的简单模式匹配
  实验6 串的无回溯KMP匹配
第4章 数组与广义表
 4.1 内容与要点
  4.1.1 数组
  4.1.2 特殊矩阵
  4.1.3 稀疏矩阵
  4.1.4 广义表
 4.2 数组与广义表实践
  实验1 矩阵转置.
  实验2 矩阵的快速转置
  实验3 稀疏矩阵的十字链表存储
  实验4 广义表及基本运算
第5章 树与二叉树
 5.1 内容与要点
  5.1.1 树
  5.1.2 二叉树
  5.1.3 二叉树的性质
  5.1.4 二叉树的存储结构
  5.1.5 二叉树的遍历方法
  5.1.6 线索二叉树
  5.1.7 哈夫曼树
  5.1.8 哈夫曼编码
 5.2 树与二叉树实践
  实验1 二叉树的遍历
  实验2 二叉树的非递归遍历
  实验3 另一种非递归后序遍历二叉树的方法
  实验4 二叉树遍历的应用
  实验5 由二叉树遍历序列恢复二叉树
  实验6 按层次遍历二叉树
  实验7 中序线索二叉树
  实验8 哈夫曼树与哈夫曼编码(1)
  实验9 哈夫曼树与哈夫曼编码(2)
第6章 图
 6.1 内容与要点
  6.1.1 图
  6.1.2 邻接矩阵
  6.1.3 邻接表
  6.1.4 图的遍历
  6.1.5 图的连通性问题
  6.1.6 生成树与最小生成树
  6.1.7 最短路径
  6.1.8 AOV网与拓扑排序
  6.1.9 AOE网与关键路径
 6.2 图实践
  实验1 建立无向图的邻接矩阵
  实验2 图的深度优先搜索
  实验3 图的广度优先搜索
  实验4 图的连通性
  实验5 深度优先生成树
  实验6 广度优先生成树
  实验7 最小生成树的Prim算法
  实验8 最小生成树的Kruskal算法
  实验9 单源点最短路径的Diikstra算法
  实验10 每一对顶点间最短路径的Floyd算法
  实验11 拓扑排序
  实验12 关键路径
第7章 查找
 7.1 内容与要点
  7.1.1 顺序查找
  7.1.2 有序表的查找
  7.1.3 二叉排序树与平衡二叉树
  7.1.4 哈希表与哈希方法
  7.1.5 哈希函数的构造方法
  7.1.6 处理冲突的方法
 7.2 查找实践
  实验1 顺序查找
  实验2 折半(二分)查找
  实验3 分块查找
  实验4 二叉排序树
  实验5 平衡二叉树
  实验6 哈希(Hash)查找
第8章 排序
 8.1 内容与要点
  8.1.1 插入排序
  8.1.2 交换排序
  8.1.3 选择排序
  8.1.4 归并排序
  8.1.5 基数排序
 8.2 排序实践
  实验1 插入排序
  实验2 折半插入排序
  实验3 希尔(Shell)排序
  实验4 冒泡排序
  实验5 快速排序
  实验6 选择排序
  实验7 堆排序
  实验8 归并排序
  实验9 基数排序
第9章 数据结构实践应用
 9.1 顺序表的应用
  9.1.1 顺序表的逆置
  9.1.2 将两个升序的顺序表A和B合并为一个升序的顺序表C
  9.1.3 单链表的逆置
  9.1.4 将递增有序的单链表A和B合并成递减有序的单链表C
  9.1.5 删除单链表中值相同的结点
  9.1.6 按递增次序输出单链表中各结点的数据值
 9.2 栈和队列应用
  9.2.1 用栈判断给定的字符序列是否为回文
  9.2.2 循环链表中只有队尾指针的入队和出队算法
  9.2.3 算术表达式中的括号匹配
  9.2.4 将队列中所有元素逆置
  9.2.5 用两个栈模拟一个队列
 9.3 串的应用
  9.3.1 将串s1中一字符串用串s2替换
  9.3.2 计算一个子串在字符串中出现的次数
  9.3.3 输出长度最大的等值子串
  9.3.4 将链串s中首次与链串t匹配的子串逆置
 9.4 数组与广义表应用
  9.4.1 将所有奇数放到数组前半部分,所有偶数放到数组后半部分
  9.4.2 求出字符数组中连续相同字符构成的子序列长度
  9.4.3 求广义表的表头和表尾
  9.4.4 另一种广义表生成方法
 9.5 树与二叉树应用
  9.5.1 交换二叉树的左右子树
  9.5.2 统计二叉树叶子个数的非递归算法实现
  9.5.3 判定一棵二叉树是否为完全二叉树
  9.5.4 求二叉树中第一条最长的路径并输出此路径上各结点的值
 9.6 图的应用
  9.6.1 邻接矩阵转换为邻接表
  9.6.2 深度优先搜索的非递归算法实现
  9.6.3 求无向连通图中距顶点v0路径长度为k的所有结点
  9.6.4 用深度优先搜索对图中所有顶点进行拓扑排序
 9.7 查找的应用
  9.7.1 判定一棵二叉树是否为二叉排序树
  9.7.2 另一种平衡二叉树的生成方法
 9.8 排序的应用
  9.8.1 用双向循环链表表示的插入排序
  9.8.2 双向冒泡排序
  9.8.3 单链表存储下的选择排序
  9.8.4 归并排序的迭代算法实现
参考文献