数据结构(山东联盟-山东航空学院)
数据结构(山东联盟-山东航空学院)
1000+ 人选课
更新日期:2025/07/08
开课平台智慧树
开课高校山东航空学院
开课教师李群赵玉霞常璐璐任敏庄波王海燕
学科专业工学计算机类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
程序能帮我们解决很多问题,但如果你仅仅学会编程语言,是否意味这你能应用它们合理有效地解决所有问题呢?现实世界异常复杂,如何合理分析问题并抽象数据,如何寻找和应用优良的思路解决问题,都是编程者必须考虑的。本课程会帮助你理解数据结构的一般原理,掌握表、树、图等常用基本结构的特点、存储和运算,理解和应用常用经典算法,并学会对算法的评价方法。让你在学会数据的组织方法和典型基本算法的实现的同时,能在实际问题中选取或设计合适的数据结构,提高算法设计能力,积累优秀的程序设计思想和方法,提高复杂问题的解决能力。 突出的重点,清晰的逻辑,精美恰当的图示和动画,深入浅出的讲解,将引领你进入数据结构和算法的世界。
课程大纲

在线教程

章节简介教学计划
绪论
登录后可预览视频
什么是数据结构
李群
初识算法
李群
算法效率的衡量和评价
李群
线性表
线性表的存储实现
赵玉霞
顺序表的基本操作
赵玉霞
顺序表的插入和删除
赵玉霞
链表的基本操作
赵玉霞
链表的插入和删除
赵玉霞
链表的建立
赵玉霞
线性表的应用
赵玉霞
栈和队列
栈和队列的特点
任敏
顺序栈的基本操作
任敏
链栈的基本操作
任敏
学习资料
栈的应用
任敏
链队列的基本操作
任敏
循环队列的基本操作
任敏
数组和广义表
特殊矩阵的压缩存储
常璐璐
稀疏矩阵的三元组顺序表
常璐璐
广义表的性质和存储
常璐璐
树和二叉树
二叉树的定义和特点
赵玉霞
二叉树的存储
赵玉霞
二叉树的递归遍历算法
赵玉霞
二叉树的层次遍历
赵玉霞
二叉树的非递归遍历算法
赵玉霞
哈夫曼树算法
赵玉霞
哈夫曼编码
赵玉霞
什么是图
李群
图的存储
李群
图的遍历
李群
最小生成树
李群
拓扑排序
李群
最短路径
引言
李群
单源顶点最短路径问题
李群
多源顶点最短路径问题
李群
查找
顺序查找
常璐璐
折半查找
常璐璐
二叉排序树
二叉排序树的定义与查找
常璐璐
二叉排序树的创建
常璐璐
二叉排序树的删除
常璐璐
二叉平衡树
常璐璐
哈希表
哈希表的创建
常璐璐
哈希表的查找和性能
常璐璐
内部排序
直接插入排序
任敏
希尔排序
任敏
冒泡排序
任敏
快速排序
任敏
简单选择排序
任敏
堆排序
任敏
归并排序
任敏
排序算法比较与总结
任敏
  • 第一章绪论

    本章是本课程的绪论部分,以大家普遍理解的具体实例入手,为同学们介绍数据结构的研究范畴、相关概念,帮助同学们了解本课程的主要内容框架,并初步认识学习数据结构的必要性。并初步介绍算法的概念及算法评价的方法。

  • 1.1什么是数据结构

    通过具体实例,介绍数据结构的研究范畴,本课程的主要学习内容及学习的必要性。讲解算法的基本特征、设计原则和效率的衡量方法。

  • 1.2初识算法

    讲解算法的基本概念及性质,并引导学生思考算法的优劣。

  • 1.3算法效率的衡量和评价

    讲解算法性能的评价方法:时间复杂度和空间复杂度的衡量。

  • 第二章线性表

    线性表是最简单的数据结构,俗称表结构。本章详细讲解线性表的特点、存储实现方法、基本操作、性能分析、应用。通过本章的学习,学生将会认识并掌握表结构的组织方式和操作方法,并能在实际问题中进行应用。

  • 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循环队列的基本操作

    介绍循环队列的存储实现,理解循环队列的设计方法,介绍数据插入、删除等操作在循环队列中的实现

  • 第四章数组和广义表

    本章主要介绍数组和广义表这两种复杂的线性结构。数组部分中重点讲解特殊矩阵压缩存储的方式,并学习稀疏矩阵的存储方法和矩阵的转置等运算的实现;广义表部分的讲授突出利用递归的思想理解广义表的方法。

  • 4.1特殊矩阵的压缩存储

    介绍特殊矩阵的概念,讲解和分析几种常见特殊矩阵的压缩存储和使用方法

  • 4.2稀疏矩阵的三元组顺序表

    介绍稀疏矩阵的概念和压缩存储思想,重点讲解三元组顺序表的结构及矩阵的转置等运算的高效实现算法。

  • 4.3广义表的性质和存储

    介绍广义表的概念、名词术语、性质,对广义表的分析与理解,并介绍广义表的常用存储方法。

  • 第五章树和二叉树

    本章主要介绍树形结构的特点及应用,主要围绕二叉树的定义、性质、存储和遍历做详细的介绍,同时还涉及到有关树的实际应用,例如构建哈弗曼编码等。

  • 5.1二叉树的定义和特点

    介绍什么是二叉树以及相关性质,从而理解二叉树的数据关系和特点

  • 5.2二叉树的存储

    介绍二叉树的数组存储、二叉链表、三叉链表结构的存储

  • 5.3二叉树的递归遍历算法

    讲解二叉树的先序、中序、后序三种顺序遍历的递归算法

  • 5.4二叉树的层次遍历

    介绍按层遍历二叉树的方法和算法实现

  • 5.5二叉树的非递归遍历算法

    二叉树遍历的非递归化算法介绍

  • 5.6哈夫曼树算法

    介绍哈夫曼树的概念及用途,讲解哈夫曼算法构建哈夫曼树的过程

  • 5.7哈夫曼编码

    介绍利用哈夫曼树设计哈夫曼编码的算法

  • 第六章

    本章主要介绍图形结构的概念、性质、存储和相关操作及其应用。图是比较复杂的结构,但在生活和科学研究中使用非常广泛,本章重在介绍如何使用图结构和相关算法来解决实际遇到的问题。

  • 6.1什么是图

    介绍图形结构的相关概念、常用术语,重在理解图中元素的关系特点

  • 6.2图的存储

    介绍邻接矩阵、邻接表存储图的方法和实现

  • 6.3图的遍历

    介绍深度优先搜索遍历、广度优先搜索算法的策略、算法实现和性能分析

  • 6.4最小生成树

    介绍最小生成树求解的两种算法:Prim算法、Kruskal算法

  • 6.5拓扑排序

    介绍拓扑排序的概念,有向无环图的定义,拓扑排序算法策略和实现

  • 6.6最短路径

    本节介绍最短路径问题在图中的解决方案,主要讲解单源顶点最短路径求解算法Dijkstra算法和多源顶点最短路径求解算法Floyd算法的策略及实现

  • 第七章查找

    本章通过介绍不同的查找表,来讲解多种查找算法的实现,例如顺序查找、二分查找等。同时本章中还会借用学过的树结构构实现查找具体数据的目的,还会介绍高效查找结构--哈希表的构建和查找算法。

  • 7.1顺序查找

    介绍查找的相关概念,讲解线性表中的顺序查找算法及性能分析

  • 7.2折半查找

    介绍适用于有序表的折半查找算法实现及性能分析

  • 7.3二叉排序树

    本节主要介绍二叉树排序树的定义和性质、查找数据的算法及性能、构建过程、删除数据的算法

  • 7.4二叉平衡树

    介绍二叉平衡树的概念、构建过程及性能

  • 7.5哈希表

    本节介绍高效查找结构---哈希表,主要内容有:哈希表的概念、构建方法、查找策略及性能分析

  • 第八章内部排序

    本章详细介绍多种排序算法:插入排序算法、快速排序算法、选择排序算法、归并排序等,不仅介绍算法的理论实现,还讨论各自的时间、空间等性能。

  • 8.1直接插入排序

    介绍直接插入排序算法及性能分析

  • 8.2希尔排序

    介绍希尔排序算法及性能分析

  • 8.3冒泡排序

    介绍冒泡排序算法及性能分析

  • 8.4快速排序

    介绍快速排序算法及性能分析

  • 8.5简单选择排序

    介绍简单选择排序算法及性能分析

  • 8.6堆排序

    介绍堆的概念、堆排序算法及性能分析

  • 8.7归并排序

    介绍归并排序算法及性能分析

  • 8.8排序算法比较与总结

    对本章中的内部排序算法从算法策略、实现、时间和空间性能、稳定性等方面进行综合比较

  • 开始学习
  • 第一章  作业测试
    第一章 绪论

    1.1 什么是数据结构

    1.2 初识算法

    1.3 算法效率的衡量和评价

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

    2.1 线性表的存储实现

    2.2 顺序表的基本操作

    2.3 顺序表的插入和删除

    2.4 链表的基本操作

    2.5 链表的插入和删除

    2.6 链表的建立

    2.7 线性表的应用

    视频数7
  • 第三章  作业测试
    第三章 栈和队列

    3.1 栈和队列的特点

    3.2 顺序栈的基本操作

    3.3 链栈的基本操作

    3.4 栈的应用

    3.5 链队列的基本操作

    3.6 循环队列的基本操作

    视频数6
  • 第四章  作业测试
    第四章 数组和广义表

    4.1 特殊矩阵的压缩存储

    4.2 稀疏矩阵的三元组顺序表

    4.3 广义表的性质和存储

    视频数3
  • 第五章  作业测试
    第五章 树和二叉树

    5.1 二叉树的定义和特点

    5.2 二叉树的存储

    5.3 二叉树的递归遍历算法

    5.4 二叉树的层次遍历

    5.5 二叉树的非递归遍历算法

    5.6 哈夫曼树算法

    5.7 哈夫曼编码

    视频数7
  • 第六章  作业测试
    第六章

    6.1 什么是图

    6.2 图的存储

    6.3 图的遍历

    6.4 最小生成树

    6.5 拓扑排序

    6.6 最短路径

    视频数8
  • 第七章  作业测试
    第七章 查找

    7.1 顺序查找

    7.2 折半查找

    7.3 二叉排序树

    7.4 二叉平衡树

    7.5 哈希表

    视频数8
  • 第八章  作业测试
    第八章 内部排序

    8.1 直接插入排序

    8.2 希尔排序

    8.3 冒泡排序

    8.4 快速排序

    8.5 简单选择排序

    8.6 堆排序

    8.7 归并排序

    8.8 排序算法比较与总结

    视频数8
  • 期末考试