数据结构是计算机类、信息与通信类、其它工学类相关专业的重要专业基础课程,特别是计算机科学与技术专业考研的必考课程。
程序设计解决问题往往有多种方法,且不同方法之间的效率可能相差甚远。程序的时间和空间效率,不仅跟数据的组织方式有关,也跟处理流程的巧妙程度有关。本课程将介绍并探讨有关数据组织、算法设计、时间和空间效率的概念和通用分析方法,帮助学员学会数据的组织方法和一些典型算法的实现,能够针对问题的应用背景分析,选择合适的数据结构,从而培养高级程序设计技能。
该课程相关课程档案齐备,电子资源丰富,涉及多名主讲老师,形成了教学团队。历年来,该门课程在学生中反映良好,也是学生非常重视,期待提高的一门课程。
第1章 绪论
1.1 数据结构的定义与概念
1.2 抽象数据类型
1.3 算法分析
绪论
第2章 线性表
2.1 线性表及其抽象数据类型
2.2 线性表的顺序表示和实现
2.3 单链表
2.4 循环单链表
2.5 双向链表、双向循环链表
2.6 一元多项式
线性表
第3章 栈和队列
3.1 栈
3.2 栈与递归
3.3 队列
栈和队列
第4章 串
4.1 串
4.2 模式匹配算法
串
第5章 数组和广义表
5.1 数组的定义和运算
5.2 数组的顺序存储和实现
5.3 特殊矩阵的压缩存储
5.4 广义表
数组广义表测验题
第6章 树和二叉树
6.1 树的定义与基本术语
6.2 二叉树
6.3 二叉树的遍历与线索化
6.4 树、森林和二叉树的关系
6.5 哈夫曼树及其应用
树和二叉树测验题
第7章 图
7.1 图的抽象数据类型定义和术语
7.2 图的存储结构
7.3 图的遍历
7.4 图的连通性问题
7.5 有向无环图及其应用
7.6 最短路径
图测试题
第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 B树)
8.4 哈希表
查找测试题
第9章 内部排序
9.1 排序的基本概念
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 基数排序
9.7 排序算法性能讨论
排序测试题

