数据结构
1000+ 人选课
更新日期:2026/03/17
开课平台学银在线
开课高校中南民族大学
开课教师杜小坤徐胜舟
学科专业工学电子信息类
开课时间2026/02/01 - 2026/07/31
课程周期26 周
开课状态开课中
每周学时-
课程简介

这门课会讲什么?

  在前置课程《程序设计语言》中,大家已经学会了如何利用编程语言操作数据解决一些简单的现实问题。针对同一问题,不同程序的时间和空间效率会有巨大的差别,这取决于数据组织方式和操作流程。本课程将和大家一起探讨常见问题的数据组织、数据操作的策略和方法,并进行时空效率的分析。具体为:将现实世界问题划分为集合、线性、树形、图形四种基本逻辑结构。针对每种逻辑结构,首先会和大家探讨其常用的数据组织形式、基本操作的实现方式及对应时空复杂度;然后以几个现实案例为例,让大家学会针对具体问题灵活选择甚至设计合适的存储结构,进而设计高效的算法。通过本课程的学习你将掌握计算机解决现实问题的一些基本原则和技巧,培养你的高阶计算思维能力。


你将收获什么?

通过该课程的学习,你会掌握线性、树形、图形等基本逻辑结构的特点、常用存储结构及基本操作的实现方式以及优缺点,并能针对具体的问题选择、改造甚至设计合适的存储结构。你将具有一定的问题分析能力,能够对具有一定复杂程度的现实案例进行分析并抽象出数学模型;你将具有较强的数据组织能力,能够根据数学模型的特点确定合理的数据组织形式;你将具有一定的算法设计能力,能够利用递归、迭代等思路解决简单的算法设计问题;你将具有较强的程序设计能力,能够将上述问题的算法描述转换为具体的编程实现。这些能力将为后续专业课程的学习打下坚实的理论和实践基础。

 


适合什么人学习?

“数据结构”是计算机科学与技术专业、软件工程专业甚至于其它电气信息类专业的重要专业基础课程。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其它课程,还是对从事大型信息工程的开发,都是重要而必备的基础。

该课程的学习者应至少掌握一门编程语言(推荐C语言),具有一定的程序设计能力。


课程介绍

刚掌握一门编程语言的你是不是有一种跃跃欲试的感觉?快来这里看看吧!这里能让你从一个刚学会使用绘画工具的新手,成长为一个熟练作画的画匠,甚至领略大画家挥毫泼墨的潇洒也未尝不可!百日修炼,取得真经,盖世本领,学妹膜拜!


课程大纲

课程章节

  • 绪论
  • 线性表
  • 栈和队列
  • 串、数组和广义表
  • 树和二叉树
  • 查找
  • 排序

绪论

1.1 数据结构的研究内容

1.2 数据结构的基本概念

1.3 抽象数据类型的定义与实现

1.4 算法和算法分析

线性表

2.1 实际应用案例

2.2 抽象数据类型

2.3 线性表的顺序表示及实现

2.4 线性表的链式表示及实现

2.5 线性表的应用

栈和队列

3.1 实际应用案例

3.2 栈的表示及实现

3.3 栈的应用

3.4 队列的表示及实现

3.5 队列的应用-舞伴问题

串、数组和广义表

4.1 串

4.2 数组

4.3 递归

4.4 广义表

树和二叉树

5.1 树的定义及抽象数据类型

5.2 二叉树的定义及抽象数据类型

5.3 二叉树的存储结构

5.4 二叉树的操作

5.5 线索二叉树

5.6 树和森林的存储及遍历

5.7 哈夫曼树

6.1 图的应用案例

6.2 图的定义和基本术语

6.3 图的抽象数据类型

6.4 图的存储结构及基本操作

6.5 图的遍历

6.6 图的应用

查找

7.1 查找的基本概念

7.2 线性表的查找

7.3 树表的查找

7.4 散列表的查找

排序

8.1 排序的基本概念

8.2 插入类排序

8.3 交换类排序

8.4 选择类排序

8.5 归并类排序

8.6 基数类排序

App 下载
关注我们