新書推薦:
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
《
大国脊梁:漫画版
》
售價:NT$
374.0
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:NT$
989.0
|
內容簡介: |
“数据结构”课程是计算机类专业一门非常重要的专业基础课程,它为后续课程提供知识基础、算法设计与实现的方法。陈承欢编著的《数据结构分析与应用实用教程》从“数据结构的分析与应用”角度重构数据结构的教学内容,系统化设计教学模式和教学流程,以“引例剖析”→“知识梳理”→“算法探究 ”→“典型应用”→“小试牛刀”为主线探究式分析数据结构和设计算法。
本书以有趣的实例导出数据结构,突出数据结构学习的趣味性。以真实的任务应用数据结构,突出数据结构知识的实用性。以形象思维方式理解数据结构,突出数据结构描述的可读性。以规范程序代码实现数据结构,突出数据结构实现的规范性。本着“理论够用、注重实用”的原则,强化知识的条理性和系统性,运用“任务驱动”教学法,着力提升算法分析和程序设计能力,将数据结构灵活应用于各相关领域,引导学习者更好地学以致用。
本书可以作为计算机类各专业和非计算机专业的 “数据结构”课程的教材,也可以作为数据结x构的培训教材以及自学教材。
|
目錄:
|
单元1 数据结构概述与基本算法分析
教学导航
引例剖析
任务1.1 分析学生数据的结构特点和存储方式
任务1.2 分析自行车的零部件结构和数据特点
任务1.3 探析城市之间通信网络的最小造价问题
知识梳理
1.1 数据结构的基本概念
1.2 数据类型与抽象数据类型
1.3 算法和算法分析
算法探究
任务1.4 设计算法实现3个整数由小到大排序
任务1.5 设计算法计算正整数的阶乘
任务1.6 设计算法采用递归法计算阶乘
任务1.7 设计算法判断素数
典型应用
任务1.8 设计算法计算矩阵的乘法
任务1.9 设计算法实现超长正整数求和运算
小试牛刀
任务1.10 分析图书数据的结构特点和存储方式
任务1.11 分析家族的家谱结构和数据特点
任务1.12 分析建设城市之间高速公路网的最小造价问题
任务1.13 探析时间最短的乘坐地铁线路
任务1.14 分析最佳游览线路规划问题
任务1.15 设计算法在数组中查找给定值
任务1.16 设计算法计算阶乘的累加和
单元习题
单元2 线性表的分析与应用
教学导航
引例剖析
任务2.1 以顺序表方式在数据表中插入与删除记录数据
任务2.2 以单链表方式在数据表中插入与删除记录数据
知识梳理
2.1 线性表的基本概念
2.2 线性表的基本操作
2.3 顺序表
2.4 单链表
2.5 循环链表
2.6 双向链表
算法探究
任务2.3 设计算法实现顺序表的基本操作
任务2.4 设计算法实现单链表的基本操作
任务2.5 设计算法实现双向链表的基本操作
任务2.6 设计算法创建循环链表
典型应用
任务2.7 应用顺序表实现“七乐彩”福利彩票的生成和中奖查询
任务2.8 应用静态循环链表求解约瑟夫环
任务2.9 应用动态循环链表求解约瑟夫环
小试牛刀
任务2.10 设计算法实现顺序表的就地逆置
任务2.11 设计算法实现单链表的逆置操作
任务2.12 设计算法实现双向链表的逆序输出
单元习题
单元3 栈和队列的分析与应用
教学导航
引例剖析
任务3.1 编写程序模拟子弹进出弹夹的过程
任务3.2 编写程序模拟银行排队存取款的过程
知识梳理
3.1 栈的定义
3.2 栈的基本操作
3.3 栈的存储结构
3.4 队列
3.5 队列的基本操作
3.6 队列的存储结构
算法探究
任务3.3 设计算法实现顺序栈的基本操作
任务3.4 设计算法实现链栈的基本操作
任务3.5 设计算法实现顺序队列的基本操作
任务3.6 设计算法实现链队的基本操作
典型应用
任务3.7 应用顺序栈实现十进制转换为其他进制
任务3.8 应用顺序栈实现超长整数的加法运算
任务3.9 应用顺序栈求算术表达式的值
任务3.10 应用顺序队列实现消息的加密和解密
任务3.11 应用链队输出符合规定要求的符号三角形
小试牛刀
任务3.12 应用顺序栈将字符串逆序输出
任务3.13 应用顺序栈检测括号是否匹配
任务3.14 应用链栈判断字符串是否为回文字符串
任务3.15 应用顺序队列模拟医院排队看病
单元习题
单元4 树结构的分析与应用
教学导航
引例剖析
任务4.1 编写程序模拟家谱结构建立与遍历二叉树
知识梳理
4.1 二叉树的基本概念
4.2 树的基本概念
4.3 树的表示
4.4 二叉树的主要性质
4.5 二叉树的存储结构
4.6 树的存储结构
4.7 二叉树的基本操作及实现
4.8 二叉树的遍历
4.9 树的基本操作
4.10 树的遍历
4.11 线索二叉树的定义及结构
4.12 哈夫曼树及其应用
算法探究
任务4.2 设计算法建立二叉树及实现其基本操作
任务4.3 设计算法实现二叉树的多种遍历方式
任务4.4 设计算法建立二叉线索树及实现其基本操作
任务4.5 设计算法建立树及实现其基本操作
任务4.6 设计算法建立哈夫曼树
任务4.7 设计算法应用哈夫曼树构造哈夫曼编码方案
典型应用
任务4.8 应用二叉树和栈求表达式的值
任务4.9 应用哈夫曼编码实现文本文件的加密和解密
小试牛刀
任务4.10 设计算法判断一棵二叉树是否为完全二叉树
任务4.11 应用哈夫曼编码进行解码
单元习题
单元5 图结构的分析与应用
教学导航
引例剖析
任务5.1 建立地铁站点的邻接矩阵
知识梳理
5.1 图的基本概念
5.2 图的基本操作
5.3 图的存储表示方法
5.4 图的遍历
5.5 图的最小生成树
5.6 图的最短路径
5.7 AOV网与拓扑排序
算法探究
任务5.2 设计算法建立有向图的邻接矩阵表示
任务5.3 设计算法建立无向图的邻接表表示
任务5.4 设计算法实现邻接矩阵表示的图的深度优先遍历
任务5.5 设计算法实现邻接表表示的图的深度优先遍历
任务5.6 设计算法实现邻接矩阵表示的图的广度优先遍历
任务5.7 设计算法实现邻接表表示的图的广度优先遍历
典型应用
任务5.8 应用普里姆算法求解最小生成树
任务5.9 应用克鲁斯卡尔算法求解最小生成树
任务5.1 0应用迪杰斯特拉算法求解单源图的最短路径
任务5.1 1应用弗洛伊德算法求解无向图的最短路径
任务5.1 2编写程序实现拓扑排序算法并输出拓扑序列
小试牛刀
任务5.1 3建立高速公路线路图的邻接矩阵表示
任务5.1 4建立有向图的邻接表表示
任务5.1 5求解高速公路线路图的最小生成树
任务5.1 6求解花费时间最短的游览线路
单元习题
单元6 排序的分析与应用
教学导航
引例剖析
任务6.1 应用直接插入排序法对磁盘数据进行排序
任务6.2 应用选择排序法对商品数据进行排序
知识梳理
6.1 排序的基本概念
6.2 插入排序
6.3 交换排序
6.4 选择排序
6.5 二路归并排序
算法探究
任务6.3 设计算法实现插入排序
任务6.4 设计算法实现希尔排序
任务6.5 设计算法实现冒泡排序
任务6.6 设计算法实现快速排序
任务6.7 设计算法实现简单选择排序
任务6.8 设计算法实现堆排序
任务6.9 设计算法实现二路汇并排序
典型应用
任务6.1 0应用冒泡排序法和选择排序法对图书数据进行排序
任务6.1 1应用希尔排序法和堆排序法对学生数据进行排序
小试牛刀
任务6.1 2编写程序应用插入排序法实现图书销量的降序排列
任务6.1 3编写程序应用选择排序法实现成绩的降序排列
任务6.1 4编写程序应用冒泡排序法实现学生姓名的降序排列
单元习题
单元7 查找的分析与应用
教学导航
引例剖析
任务7.1 查找指定名称的手机数据
知识梳理
7.1 查找的基本概念
7.2 静态查找
7.3 二叉排序树及查找
7.4 哈希表查找
算法探究
任务7.2 设计算法应用顺序查找法查找指定数据
任务7.3 设计算法应用折半查找法查找指定数据
任务7.4 设计算法建立二叉排序树并查找指定数据
任务7.5 设计算法应用哈希表实现数据的查找
典型应用
任务7.6 应用顺序查找法查找图书数据
任务7.7 应用二叉排序树查找学生数据
小试牛刀
任务7.8 应用顺序查找法查找指定学号的学生数据
任务7.9 应用折半查找法查找指定姓名的学生数据
单元习题
附录A 数据结构综合训练
附录B 数据结构常见术语中英文对照表
参考文献
|
|