数据结构(16期)
数据结构(16期)
1万+ 人选课
更新日期:2025/12/13
开课时间2025/08/30 - 2026/01/18
课程周期21 周
开课状态开课中
每周学时-
课程简介

这门课会讲什么?

        数据结构的研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更为方便。因此,可以认为数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,在计算机科学中,数据结构不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据系统及其它系统程序和大型应用程序的重要基础。值得注意的是,数据结构的发展并未终结,一方面,面向各专门领域中特殊问题的数据结构得到研究和发展,如多维图形数据结构等;另一方面,从抽象数据类型的观点来论论数据结构,已成为一种新的趋势,越来越被人们所重视。

你将收获什么?

通过本课程学习,同学们将学到:    

1、数据、数据结构和抽象数据类型等基本概念;  

2、学习,线性表、栈和队列、串、数组及广义表、树及二叉树、图等基本类型的数据结构,学会从现实模型中提取抽象数据类型并应用。

3、讨论查找和排序的各种实现算法,以及在时空效率上进行定性或定量分析和比较。

适合什么人学习?

本门课程是计算机类专业(计算机科学与技术、软件工程、网络工程、物联网工程、网络安全等)的核心课程之一,也是其它信息类专业(信息管理与信息系统、通信工程、信息与计算科学等)的必修课程之一,大多数高校计算机类专业研究生入学考试都将数据结构课程作为必考课程之一。

本课程适合计算机类本科生学习,同时相关电子类专业及计算机编程爱好者均适用。


课程大纲

课程章节

  • 绪论
  • 线性表
  • 栈和队列
  • 数组和广义表
  • 树和二叉树
  • 查找
  • 排序
  • 数据结构综合应用

绪论

1.1 什么是数据结构

1.2 基本概念和术语

1.3 算法及性能评价

1.4 算法的健壮以及效率分析

1.5 时间效率与空间效率分析

1.6 算法分析示例

1.7 讨论

1.8 单元测试

线性表

2.1 线性表的定义及基本操作

2.2 顺序存储及算法实现

2.3 链式存储及算法实现

2.4 其它形式的链式存储

2.5 线性表的应用

2.6 讨论

2.7 单元测试

栈和队列

3.1 栈的概念、存储结构及其基本操作

3.2 栈的应用

3.3 栈与递归

3.4 队列的概念、存储结构及其基本操作

3.5 队列的应用

3.6 讨论

3.7 单元测试

4.1 字符串基础知识

4.2 模式匹配

4.3 讨论

4.4 单元测试

数组和广义表

5.1 数组

5.2 特殊矩阵

5.3 广义表

5.4 讨论

5.5 单元测试

树和二叉树

6.1 树的基本概论

6.2 二叉树的定义与性质

6.3 二叉树的存储结构

6.4 二叉树遍历算法(递归)

6.5 二叉树遍历算法(非递归)

6.6 二叉树遍历应用

6.7 线索二叉树(上)

6.8 线索二叉树(下)

6.9 树与森林

6.10 哈夫曼树(上)

6.11 哈夫曼树(下)

6.12 讨论

6.13 单元测试

7.1 图的基本概念

7.2 图的存储结构

7.3 图的遍历

7.4 图的最小生成树概念

7.5 最小生成树算法

7.6 最短路径生成算法

7.7 拓扑排序

7.8 讨论

7.9 单元测试

查找

8.1 查找基本概念

8.2 折半查找及分块查找

8.3 二叉排序树

8.4 平衡二叉排序树

8.5 哈希表查找

8.6 讨论

8.7 单元测试

排序

9.1 排序的基本概念

9.2 直接、二分法插入排序

9.3 希尔排序

9.4 交换排序

9.5 选择排序

9.6 归并排序

9.7 讨论

9.8 单元测试

数据结构综合应用

10.1 结构类型之间的关系概述

10.2 二叉树与分治策略

10.3 图的遍历及其应用

10.4 讨论

10.5 单元测试