项目一 数据结构导论
任务一 数据结构入门
一、基本术语
二、数据的逻辑结构
三、数据的存储结构
四、数据类型
任务二 算法与算法分析
一、算法的概念
二、算法的特性
三、算法的描述方法
四、算法设计的要求
五、算法性能分析
六、类C语言简介
项目小结
习题与上机操作
项目二 线性表
任务一 线性表的定义和基本操作
一、线性表的定义
二、线性表的基本操作
任务二 线性表的顺序存储结构
一、顺序表的结构特点
二、顺序表的基本操作
任务三 线性表的链式存储结构
一、单链表的结构特点
二、单链表的基本操作
三、静态链表及其基本操作
四、循环链表及其基本操作
五、双向链表及其基本操作
项目小结
习题与上机操作
项目三 栈和队列
任务一 栈的定义、存储结构和基本操作
一、栈的定义及其基本操作
二、栈的顺序存储结构
三、栈的链式存储结构
四、栈在递归中的应用
任务二 队列的定义、存储结构和基本操作
一、队列的定义及其基本操作
二、队列的顺序存储结构
三、队列的链式存储结构
项目小结
习题与上机操作
项目四 串和数组
任务一 串的定义、存储结构和基本操作
一、串的定义及其基本操作
二、定长顺序存储结构
三、堆存储结构
四、块链存储结构
任务二 数组的定义和存储结构
一、数组的定义及其基本操作
二、数组的顺序存储结构
任务三 矩阵的压缩存储
一、特殊矩阵的压缩存储
二、稀疏矩阵的压缩存储
任务四 广义表的定义和存储结构
一、广义表的定义
二、广义表的存储结构
项目小结
习题与上机操作
项目五 树与二叉树
任务一 树的定义和基本操作
一、树的定义和表示方法
二、树的基本术语
三、树的基本操作
任务二 二叉树
一、二叉树的定义及其基本操作
二、二叉树的性质
三、二叉树的存储结构
四、遍历二叉树
五、线索二叉树
任务三 树和森林
一、树的存储结构
二、树、森林和二叉树的转换
三、树和森林的遍历
任务四 哈夫曼树及其应用
一、哈夫曼树的定义
二、哈夫曼树的构造
三、哈夫曼树编码
项目小结
习题与上机操作
项目六 图
任务一 图的定义和基本操作
一、图的定义
二、图的基本术语
三、图的基本操作
任务二 图的存储结构
一、邻接矩阵表示法
二、邻接表表示法
三、十字链表表示法
四、邻接多重表表示法
任务三 图的遍历
一、深度优先遍历
二、广度优先遍历
任务四 图的应用
一、生成树和最小生成树
二、最短路径
三、拓扑排序
四、关键路径
项目小结
习题与上机操作
项目七 查找
任务一 查找的相关术语
任务二 静态查找表
一、顺序查找
二、折半查找
三、索引顺序查找
任务三 动态查找表
一、二叉排序树
二、平衡二叉树
任务四 哈希查找
一、哈希表的基本概念
二、构造哈希函数的方法
三、处理冲突的方法
四、哈希表的查找及分析
项目小结
习题与上机操作
项目八 排序
任务一 排序的相关概念
任务二 插入排序
一、直接插入排序
二、折半插入排序
三、希尔排序
任务三 交换排序
一、冒泡排序
二、快速排序
任务四 选择排序
一、直接选择排序
二、树形选择排序
三、堆排序
任务五 归并排序和基数排序
一、归并排序
二、基数排序
项目小结
习题与上机操作