数据结构
数据结构
5000+ 人选课
更新日期:2025/06/09
开课时间2025/02/17 - 2025/07/05
课程周期20 周
开课状态开课中
每周学时-
课程简介

  本课程属于计算机科学与技术相关专业本科生的主干课、专业基础课程,也是本专业的学位课程。通过本课程的学习,主要达到以下目标:

1、 使学生掌握线性表、栈、队列、树、二叉树、图等常见的数据结构的基本概念、特点、存储表示、基本操作的实现及应用;

2、 使学生掌握算法的设计方法,并学会对算法进行性能分析,进而设计出更高效的算法;

3、 使学生掌握计算机中最常见的查找、排序等操作的算法原理、实现方法,并分析比较各个算法的性能;

4、培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,为后续课程的学习打下良好的理论基础和实践基础。

课程大纲

第一章 绪论

1. 数据结构研究的内容及相关概念

2. 算法与算法分析

3. 实例剖析:Life游戏的设计与实现

绪论

算法设计练习

第二章 线性表和串

1.线性表的概念和顺序实现

2.单链表的基本操作实现

3.线性表的其他链式存储及存储结构比较

4.链表下算法设计举例

5. 串及基本操作及实现

线性表

线性表算法练习

第三章 栈

1. 栈的定义

2. 栈的应用实例:括号匹配

3. 栈的应用实例:逆波兰计算器

4. 栈的顺序实现

栈的特性

第四章 队列

1. 队列的定义

2. 顺序队列

队列的顺序实现

顺序队列

第五章 链栈和链队列

1. 指针与链式结构

2. 栈的链式实现

3. 队列的链式实现

4. 栈和队列的应用示例:多项式计算器

5. 栈和队列的应用示例:多项式类

栈和队列

栈和队列的综合应用

第六章 二叉树

1.二叉树的概念

2.二叉树的性质

3.二叉树的遍历

4.二叉树的存储和实现

5.哈夫曼树与哈夫曼编码

6.二叉查找树及查找

7.二叉查找树下的插入算法

8.二叉查找树下的删除算法

二叉树

二叉树的基本操作实现

通过两个序列创建二叉树

二叉查找树

哈夫曼树的构造

第七章 多叉树

1.树的定义、存储和遍历

2.树和森林与二叉树的转换

多叉树

第八章 图

1. 图的定义及术语

2. 图的存储

3. 图的深度优先搜索遍历

4. 图的广度优先搜索遍历

5. 拓扑排序

6. 最短路径

7. 最小生成树

图综合应用

图的综合应用

第九章 查找

1.查找的基本概念和顺序查找

2.有序表及不识别相等的二分查找

3.识别相等的二分查找

4.二分查找比较树及性能分析

5.散列函数

6.散列冲突处理

单元测验

查找算法实现及性能比较

第十章 排序

1.排序基本概念、排序性能评价指标、内部排序的基本操作

2.插入排序

3.选择排序

4.希尔排序

5.冒泡排序

6.归并排序

7.快速排序

8.堆

9.堆排序

10.排序算法比较

11.基数排序

排序单元测验

排序算法比较