学习情境1 学生成绩管理系统的构建 2
1.1 任务1:数据结构的基本概念 2
1.1.1 子任务1:什么是数据结构 2
1.1.2 子任务2:数据结构相关术语 3
1.2 任务2:数据结构的两种存储结构 3
1.2.1 子任务1:数据结构的分类 3
1.2.2 子任务2:数据结构的案例 5
1.3 任务3:算法 7
1.3.1 子任务1:算法的基本概念 7
1.3.2 子任务2:算法的特性 7
1.3.3 子任务3:算法分析及举例 8
1.4 任务4:提交项目报告 10
实训任务1 11
学习情境2 航空客运订票系统的构建 14
2.1 任务1:线性表的基本概念 14
2.1.1 子任务1:线性表的定义 14
2.1.2 子任务2:线性表的存储结构 15
2.2 任务2:线性表的顺序存储及操作 16
2.2.1 子任务1:顺序表的概念 16
2.2.2 子任务2:顺序表的算法实现 18
2.3 任务3:线性表的链式存储及操作 23
2.3.1 子任务1:单链表的概念 23
2.3.2 子任务2:单链表的算法实现 25
2.3.3 子任务3:几种特殊链表及链表的应用 29
2.4 任务4:栈和队列 42
2.4.1 子任务1:栈的概念及存储结构 42
2.4.2 子任务2:栈的应用 48
2.4.3 子任务3:队列的概念及存储结构 53
2.4.4 子任务4:队列的应用 61
2.5 任务5:提交项目报告 65
实训任务2 66
学习情境 3 家族谱系管理系统的构建 74
3.1 任务1:树的基本概念 74
3.1.1 子任务1:树的相关术语 74
3.1.2 子任务2:树的表示及存储结构 75
3.2 任务2:二叉树 79
3.2.1 子任务1:二叉树的概念 79
3.2.2 子任务2:二叉树的性质 80
3.2.3 子任务3:二叉树的存储结构 81
3.3 任务3:二叉树的遍历 83
3.3.1 子任务1:二叉树的遍历算法及实现 83
3.3.2 子任务2:二叉树的恢复 89
3.3.3 子任务3:森林、树和二叉树的转换 90
3.4 任务4:哈夫曼树 91
3.4.1 子任务1:树的带权路径长度 91
3.4.2 子任务2:哈夫曼树的构建方法及编码 92
3.5 任务5:提交项目报告 96
实训任务3 96
学习情境 4 电网建设造价计算的构建 100
4.1 任务1:图的基本概念 100
4.1.1 子任务1:图的相关术语 100
4.1.2 子任务2:图的表示 103
4.2 任务2:图的遍历 106
4.2.1 子任务1:图的深度优先搜索 106
4.2.2 子任务2:图的广度优先搜索 107
4.3 任务3:图的应用 108
4.3.1 子任务1:最小生成树 108
4.3.2 子任务2:最短路径 113
4.3.3 子任务3:拓扑排序 116
4.4 任务4:项目报告 117
4.4.1 子任务1:该项目的数据流分析 117
4.5 任务5:提交项目报告 121
实训任务4 121
学习情境 5 火车车次排序 128
5.1 任务1:排序的基本概念 128
5.1.1 子任务1:排序的相关术语 128
5.2 任务2:插入排序 128
5.2.1 子任务1:直接插入排序 128
5.2.2 子任务2:希尔排序 129
5.3 任务3:交换排序 131
5.3.1 子任务1:冒泡排序 131
5.3.2 子任务2:快速排序 132
5.4 任务4:选择排序 134
5.4.1 子任务1:直接选择排序 134
5.4.2 子任务2:堆排序 135
5.5 任务5:两路归并排序 137
5.6 任务6:提交项目报告 139
实训任务5 139
学习情境 6 电话号码查询系统的构建 142
6.1 任务1:查找的基本概念 142
6.2 任务2:线性表的查找 142
6.2.1 子任务1:顺序查找 142
6.2.2 子任务2:折半查找 144
6.2.3 子任务3:索引查找 147
6.2.4 子任务4:二叉排序树 148
6.3 任务3:哈希表 152
6.3.1 子任务1:哈希表的构建 152
6.3.2 子任务2:哈希表处理冲突的方法 155
6.4 任务4:提交项目报告 157
实训任务6 157