数据结构(C语言版)(配有微课学习平台及PPT、课程标准等丰富的教学资源)
作者: 李刚、刘万辉
出版时间:2017年2月
出版社:高等教育出版社
- 高等教育出版社
- 9787040461473
- 1版
- 193926
- 0063172890-4
- 16开
- 2017年2月
- 400
- 工学
- 软件工程
- TP311.12
- 计算机相关专业
- 高职高专
“数据结构”是软件技术、网络技术等计算机类专业的一门重要的专业基础课程,本书是专门为该课程编写的教材,将“以学生为中心”的理念作为指导思想,内容精炼,通俗易懂,既便于教学,又适合自学。
本书内容分为两大部分:第1~10章为基础知识部分,第11章为综合应用部分。基础知识部分包括线性结构模块、非线性结构模块和简单应用模块。综合应用部分包括新生报到信息注册系统设计模块和万达停车场管理系统设计模块。本书的前10章内容首先通过实例项目描述引入问题,然后进行相应的知识介绍,最后对项目进行解析及具体实现,保证分层分类教学,并为较优秀的学生提供知识拓展部分。
本书对于各类数据结构的定义和操作原理进行了详细充分的介绍,并配有实例动画,做到理论联系实际,加强了数据结构实际应用的介绍,注重培养学生的数据结构程序设计能力和应用能力。在内容表现上,主要采用图表方式,使得知识内容更加形象、直观;针对每一部分内容进行详细的分析和逐条的程序设计,并通过代码和数据同步动画表现核心的教学内容。
为了学习者能够快速且有效地掌握核心知识和技能,也方便教师采用更有效的传统方式教学,或者更新颖的线上线下的翻转课堂教学模式,本书配有100个微课,已在智慧职教平台(www.icve.com.cn)上线,学习者可登录网站进行学习,也可通过扫描书中的二维码观看微视频,随扫随学。此外,本书还提供了其他数字化课程教学资源,包括制作精良的电子课件(PPT)、动画、源程序、教学指导、在线测试等,部分资源可在智慧职教的网站资源展示页面下载。
本书适合作为高职高专院校“数据结构”课程的教材,也可供计算机算法设计学习者参考。
第1章 绪论及C语言介绍
实例描述——学生管理系统登录模块设计
1.1 基本概念与术语
1.2 学习数据结构的意义
1.3 算法的描述和分析
1.4 C语言相关知识介绍
实例分析与实现
同步训陲东
在线测试
第2章 线性表的结构分析与应用
实例描述——约瑟夫问题方案设计
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.2.1 顺序表定义及地址计算
2.2.2 顺序表基本运算
2.3 线性表的链式存储结构
2.3.1 单链表
2.3.2 循环链表
2.4 顺序表和链表的比较
实例分析与实现
知识拓展——一元多项式设计及加法运算
同步训练
在线测试
第3章 栈和队列的结构分析与应用
实例描述——计算器中进制转换功能设计
3.1 栈
3.1.1 栈的定义及基本运算
3.1.2 顺序栈及操作实现
3.1.3 链栈及操作实现
3.2 队列
3.2.1 队列的定义及基本运算
3.2.2 顺序队列及操作实现
3.2.3 链队列及操作实现
实例分析与实现
知识拓展——中缀表达式转换为后缀表达式设计
同步训练
在线测试
第4章 字符串的结构分析与应用
实例描述——统计一篇英文短文中单词的个数
4.1 串的定义及其运算
4.1.1 串的基本概念
4.1.2 串的基本运算
4.2 串的存储结构
4.2.1 串的顺序存储结构
4.2.2 串的链式存储结构
4.2.3 子串的定位运算
实例分析与实现
知识拓展——程序的文本编辑
同步训练
在线测试
第5章 二维数组及广义表的结构分析与应用
实例描述——数据的压缩存储
5.1 二维数组的存储结构及求址方法
5.2 矩阵的压缩存储
5.2.1 特殊矩阵
5.2.2 稀疏矩阵
5.3 广义表的概念
实例分析与实现
知识拓展——m元多项式设计
同步训练
在线测试
第6章 树和二叉树的结构分析与应用
实例描述——家族中家谱的设计
6.1 树的概念
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 二叉树的遍历
6.4 线索二叉树
6.5 树和森林
6.5.1 树、森林与二叉树的相互转换
6.5.2 树的存储结构
6.5.3 树和森林的遍历
6.6 哈夫曼树及其应用
6.6.1 哈夫曼树的定义
6.6.2 哈夫曼树的构造
6.6.3 哈夫曼树编码
实例分析与实现
知识拓展——数据加密与解密
同步训练
在线测试
第7章 图的结构分析与应用
实例描述——高铁修建最经济方案设计
7.1 图的概念及相关术语
7.1.1 图的概念
7.1.2 图的相关术语
7.2 图的存储结构
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.3 图的遍历
7.3.1 深度优先遍历(Deptt First Treaversal)
7.3.2 广度吼虻先遍历(Breadth First Tfaversal)
7.4 最小生成树
7.4.1 普里姆(Prim)算法
7.4.2 克鲁斯卡尔(Kruskal)算法
7.5 最短路径
7.5.1 单源最短路径
7.5.2 每一对顶点之间的最短路径
实例分析与实现
知识拓展——旅游交通图最短路线问题
同步训练
在线测试
第8章 查找的分析与应用
实例描述——通讯录查询系统设计
8.1 基本概念
8.2 线性表查找
8.2.1 顺序查找
8.2.2 二分查找
8.2.3 分块查找
8.3 树上的查找
8.3.1 二叉排序树定义
8.3.2 二叉排序树的插入和生成
8.3.3 二叉排序树的删除
8.3.4 二叉排序树的查找
8.4 散列技术
8.4.1 散列表的概念
8.4.2 散列函数的构造方法
8.4.3 处理冲突的方法
实例分析与实现
知识拓展——电路检修问题解决方案
同步训练
在线测试
第9章 排序的分析与应用
实例描述——学生奖学金评定系统设计
9.1 排序的基本概念
9.1.1 排序的定义
9.1.2 相关概念
9.2 插入排序
9.2.1 直接插入排序
9.2.2 希尔排序
9.3 交换排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 选择排序
9.4.1 直接选择排序
9.4.2 堆排序
9.5 归并排序
9.6 各种内部排序算法的比较
实例分析与实现
知识拓展——扑克牌箱排序问题设计
同步训练
在线测试
第10章 文件
实例描述——学生成绩管理系统设计
10.1 文件的概念
10.1.1 文件的基本概念
10.1.2 文件的逻辑结构和物理结构
10.1.3 文件的操作
10.2 顺序文件
10.2.1 存储在顺序存储器上的顺序文件
10.2.2 存储在直接存储器上的顺序文件
10.3 索引文件
10.4 索引顺序文件
10.4.1 ISAM文件的组织方法
10.4.2 VSAM文件的组织方法
10.5 散列文件
10.5.1 散列文件的组织方式
10.5.2 散列文件的操作
10.6 多关键字文件
10.6.1 多关键字文件概念
10.6.2 倒排文件
10.6.3 多重表文件
10.7 格式化读写操作函数
实例分析与实现
同步训练
在线测试
第11章 数据结构综合应用
11.1 综合应用一:新生报到信息注册系统设计
11.1.1 案例需求分析
11.1.2 案例知识目标
11.1.3 案例核心算法及实现
11.1.4 其他参考代码
11.2 综合应用二:万达停车场管理系统设计
11.2.1 案例需求分析
11.2.2 案例知识目标
11.2.3 案例核心算法及实现
11.2.4 其他参考代码
参考文献