数据结构(山东大学)
数据结构(山东大学)
2万+ 人选课
更新日期:2026/04/01
开课平台智慧树
开课高校山东大学
开课教师姚云洪
学科专业工学计算机类
开课时间2026/01/21 - 2026/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
走进数据结构开启算法大门抽象、操作、运用
课程大纲

在线教程

章节简介教学计划
概述
登录后可预览视频
数据结构漫谈
姚云洪
数据结构的研究内容
姚云洪
基本概念和术语
姚云洪
抽象数据类型的表示与实现
姚云洪
算法和算法分析
姚云洪
案例分析
姚云洪
线性表
线性表的抽象类型
姚云洪
线性表的顺序表示与实现
线性表的顺序表示
姚云洪
线性表的实现(上)
姚云洪
线性表的实现(下)
姚云洪
线性表的链式表示与实现
线性表的链式表示
姚云洪
单链表建立
姚云洪
插入与删除操作的实现
姚云洪
线性表应用
姚云洪
栈与队列
栈的定义与操作
姚云洪
栈的应用
姚云洪
栈与递归
递归算法
姚云洪
递归与栈
姚云洪
队列
队列
姚云洪
队列操作
姚云洪
树与二叉树
树的定义与术语
姚云洪
二叉树
二叉树
姚云洪
二叉树存储结构
姚云洪
二叉树的遍历与线索二叉树
二叉树的三种遍历算法及实现
姚云洪
遍历二叉树的应用
姚云洪
线索二叉树
姚云洪
树与森林
姚云洪
树的应用
赫夫曼树的基本概念、构造算法
姚云洪
赫夫曼编码
姚云洪
图的定义与术语
姚云洪
图的存储结构
邻接矩阵
姚云洪
邻接表
姚云洪
图的遍历
深度优先遍历算法
姚云洪
广度优先遍历算法
姚云洪
图的应用
最小生成树
姚云洪
最短路径问题
姚云洪
拓扑排序与关键路径
姚云洪
查找/检索
查找的基本概念
姚云洪
静态表的查找
顺序查找算法
姚云洪
折半查找算法与分析
姚云洪
动态查找表
二叉排序树
姚云洪
平衡二叉树
姚云洪
B-树,B+树
姚云洪
散列表
散列函数的构造方法
姚云洪
冲突处理方法
姚云洪
排序
基本概念和排序方法概述
姚云洪
插入排序
插入排序
姚云洪
希尔排序
姚云洪
交换排序
姚云洪
选择排序
简单选择排序
姚云洪
堆的建立和调整
姚云洪
归并排序
姚云洪
  • 第一章概述

    本章将介绍数据结构的基本概念,主要内容包括:
    (1)数据结构基本概念和术语:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型;
    (2)数据结构包括逻辑结构和存储结构两个层次。数据的存储结构——顺序存储结构、链接存储结构;
    (3)算法和算法的评价:时间复杂性、空间复杂性。

  • 1.1数据结构漫谈

    数据结构漫谈

  • 1.2数据结构的研究内容

    数据结构的研究内容

  • 1.3基本概念和术语

    基本概念和术语

  • 1.4抽象数据类型的表示与实现

    抽象数据类型的表示与实现

  • 1.5算法和算法分析

    算法和算法分析

  • 1.6案例分析

    案例分析

  • 第二章线性表

    本章开始讨论线性结构,它是一种最简单、最基本的数据结构。实际上,每一个有意义的程序基本都使用了这种结构。  
    本章的主要内容有:
    (1)线性表的类型定义,包括线性表的抽象数据类型定义;
    (2)顺序存储的线性表,包括顺序存储表示线性表所需要的具体数据类型以及相应操作的实现算法;
    (3)链式存储的线性表,包括链式存储表示线性表所需要的具体数据类型以及相应操作的实现算法。

  • 2.1线性表的抽象类型

    线性表的抽象类型

  • 2.2线性表的顺序表示与实现

    线性表的顺序表示与实现

  • 2.3线性表的链式表示与实现

    线性表的链式表示与实现

  • 2.4线性表应用

    线性表应用

  • 第三章栈与队列

    栈与队列很可能是应用频率最高的数据结构。从数据结构角度来看,栈和队列是两种特殊的线性表,其特殊性体现在它们的基本操作是线性表操作的子集,因此它们是限定性的数据结构。从抽象数据类型角度来看,它们是不同于线性表的两类重要的抽象数据类型。由于栈和队列在实际应用中的广泛性和其操作的特殊性,所以需要专门进行讨论。
    本章主要讨论栈和队列的抽象数据类型定义、表示及实现,主要内容包括:
    (1)栈的抽象数据类型定义,栈的顺序表示与实现,栈的链式表示与实现;
    (2)栈的应用;
        (3)队列的抽象数据类型定义,队列的顺序表示与实现,队列的链式表示与实现。

  • 3.1

    栈的定义与操作

  • 3.2栈的应用

    栈的应用

  • 3.3栈与递归

    栈与递归

  • 3.4队列

    队列

  • 第四章树与二叉树

    树是一种非线性数据结构,具体是指结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。从数据元素之间关系角度看,线性结构元素之间是一对一关系,树结构则是一对多的关系。树结构经常用于描述和处理数据元素的层次关系,尤其适用于大规模的信息处理任务,例如建立数据库管理系统时所用的层次模型就是一种树型结构。本章主要以二叉树为例,讲述树结构及其应用,主要内容包括:
    (1)树的定义、术语及性质;
    (2)二叉树的定义、性质,二叉树的存储结构及二叉树的遍历等各种操作的算法实现;
    (3)线索二叉树;
    (4)树、森林与二叉树的转化;
    (5)赫夫曼树及赫夫曼编码;

  • 4.1树的定义与术语

    树的定义与术语

  • 4.2二叉树

    二叉树

  • 4.3二叉树的遍历与线索二叉树

    二叉树的遍历与线索二叉树

  • 4.4树与森林

    树与森林

  • 4.5树的应用

    树的应用

  • 第五章

    图是一种应用非常广泛的数据结构,目前已被应用于社会、化学、管理学、地理和电子工程等不同领域。例如,图常用于化合物(特别是碳氢化合物)的分子结构研究、空中航线和通信网络的描述、项目策划、遗传研究、统计等。
    本章我们将学习图的基本概念、存储表示,以及处理图的几个重要算法,讨论图的应用。为了便于学习和理解,本章的算法均采用C语言。本章的主要内容如下:
    (1)图的相关术语:顶点、边、关联、度、路径、回路、连通分量、生成树。
    (2)图的类型:有向图、无向图、加权图(网络)。
    (3)图的存储表示方法:邻接矩阵、邻接表。
    (4)图的标准搜索方法:深度优先搜索、广度优先搜索。
    (5)图的应用:拓扑排序、最小生成树、最短路径。

  • 5.1图的定义与术语

    图的定义与术语

  • 5.2图的存储结构

    图的存储结构

  • 5.3图的遍历

    图的遍历

  • 5.4图的应用

    图的应用

  • 第六章查找/检索

    本章将介绍各种查找算法,主要内容包括:
    (1)表、关键字、查找、静态查找、动态查找、树表、散列表等术语。
    (2)顺序查找、折半查找、分块查找等在顺序表上完成的查找算法。
    (3)在二叉查找树、B树等树表结构上完成的查找、插入、删除操作。
    (4)散列表查找

  • 6.1查找的基本概念

    查找的基本概念

  • 6.2静态表的查找

    静态表的查找

  • 6.3动态查找表

    动态查找表

  • 6.4散列表

    散列表

  • 第七章排序

    本章我们考虑数据处理中经常遇到的问题——排序,主要内容包括:
    (1)排序的基本概念
    (2)内排序:插入排序、交换排序、堆排序、归并排序

  • 7.1基本概念和排序方法概述

    基本概念和排序方法概述

  • 7.2插入排序

    插入排序

  • 7.3交换排序

    交换排序

  • 7.4选择排序

    选择排序

  • 7.5归并排序

    归并排序

  • 开始学习
  • 第一章  作业测试
    第一章 概述

    1.1 数据结构漫谈

    1.2 数据结构的研究内容

    1.3 基本概念和术语

    1.4 抽象数据类型的表示与实现

    1.5 算法和算法分析

    1.6 案例分析

    视频数6
  • 第二章  作业测试
    第二章 线性表

    2.1 线性表的抽象类型

    2.2 线性表的顺序表示与实现

    2.3 线性表的链式表示与实现

    2.4 线性表应用

    视频数8
  • 第三章  作业测试
    第三章 栈与队列

    3.1

    3.2 栈的应用

    3.3 栈与递归

    3.4 队列

    视频数6
  • 第四章  作业测试
    第四章 树与二叉树

    4.1 树的定义与术语

    4.2 二叉树

    4.3 二叉树的遍历与线索二叉树

    4.4 树与森林

    4.5 树的应用

    视频数9
  • 第五章  作业测试
    第五章

    5.1 图的定义与术语

    5.2 图的存储结构

    5.3 图的遍历

    5.4 图的应用

    视频数8
  • 第六章  作业测试
    第六章 查找/检索

    6.1 查找的基本概念

    6.2 静态表的查找

    6.3 动态查找表

    6.4 散列表

    视频数8
  • 第七章  作业测试
    第七章 排序

    7.1 基本概念和排序方法概述

    7.2 插入排序

    7.3 交换排序

    7.4 选择排序

    7.5 归并排序

    视频数7
  • 期末考试
App 下载
关注我们