算法与数据结构(山东联盟)
算法与数据结构(山东联盟)
5000+ 人选课
更新日期:2025/05/19
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
《算法与数据结构》是计算机领域的一门专业基础课,这门课程主要研究如何在计算机中有效表示数据和数据之间的关系,是后续课程如数据库等课程的基础。本课程教学团队都有十年以上教授《算法与数据结构》课程的教学经历,根据教学实践,针对学生常出现的学习数据结构理论和实践编程相脱节问题,采用数据结构和高级语言程序设计(C语言)相融合的教学模式,内容内浅入深,通俗易懂,算法全部采用C语言编程描述,并对程序重点详细讲解,在编程中让学生不知不觉中掌握数据结构理论,并对其深入理解,提高学生解决实际问题的程序设计能力,激发学生的学习兴趣。
课程大纲

在线教程

章节简介教学计划
绪论
登录后可预览视频
课程简介
王欣欣
数值计算和非数值计算应用问题
什么是数值问题
冷玉池
数值计算解决问题的步骤
冷玉池
编程解决非数值问题的方法
冷玉池
数据结构概念的引入
冷玉池
什么是数据结构
数据结构的概念
冷玉池
数据结构举例
冷玉池
抽象数据类型和head1-1.h
冷玉池
基本概念和术语
基本概念--数据,数据元素,数据对象
王欣欣
基本概念--数据结构的逻辑结构及二元组表
王欣欣
数据结构二元组的示例1
王欣欣
数据结构二元组的示例2
王欣欣
编程---什么是引用参数&
冷玉池
算法和算法分析
算法的时间复杂度定义
王欣欣
算法及算法的特性
王欣欣
算法的时间复杂度示例1
王欣欣
算法的时间复杂度示例2
王欣欣
线性表
线性表的类型定义
线性表的概念
王欣欣
线性表的抽象数据类型的定义.MP4
王欣欣
线性表的基本操作.MP4
王欣欣
线性表的顺序存储的表示及其编程实现
线性表的顺序存储表示
王欣欣
顺序表的顺序映像及C动态分配函数介绍
王欣欣
线性表的顺序存储基本操作的编程实现
介绍宏定义LIST_INIT_SIZE
王欣欣
介绍用malloc函数分配顺序表的空间
王欣欣
顺序表初始化需赋值的三个变量
王欣欣
顺序表的初始化编程实现
王欣欣
顺序表的插入操作
王欣欣
顺序表的插入操作编程准备
王欣欣
顺序表插入函数中形式参数的介绍
王欣欣
顺序表插入操作及表空间扩大的编程实现
王欣欣
顺序表的插入操作编程实现
王欣欣
顺序表的删除操作
王欣欣
顺序表的删除操作编程实现
王欣欣
顺序表的删除操作编程实现
王欣欣
顺序表删除位置判断的编程实现
王欣欣
顺序表应用综合举例
顺序表应用综合举例讲解1
王欣欣
顺序表应用综合举例讲解2
王欣欣
顺序表应用综合举例C语言编程实现
王欣欣
线性表的链式存储结构的表示和编程实现
单链表的定义
王欣欣
单链表的头节点及其单链表的存储
王欣欣
单链表基本操作实现
王欣欣
单链表的插入基本操作
王欣欣
单链表的插入基本操作的编程实现
王欣欣
单链表的删除基本操作
王欣欣
单链表的删除基本操作的编程实现
王欣欣
单链表表应用综合举例
单链表应用综合举例讲解及C语言编程实现
王欣欣
双向链表
双向链表的定义
王欣欣
双向链表地址转换的编程实现
王欣欣
双向链表插入操作的编程实现
王欣欣
双向链表删除操作的编程实现
王欣欣
循环链表和双向循环链表
王欣欣
线性表的应用--数字钟游戏的编写
冷玉池
实验编程---约瑟夫环问题
冷玉池
栈和队列
栈的定义
王欣欣
栈的抽象数据类型定义
王欣欣
顺序栈
栈的顺序存储表示
王欣欣
栈的顺序存储表示2
王欣欣
栈的顺序存储编程实现1
王欣欣
顺序栈的初始化操作及入栈操作编程实现
王欣欣
链栈
栈的链式存储结构及编程实现
王欣欣
栈的链式存储结构的表示
王欣欣
链栈的基本操作
王欣欣
栈插入基本操作的编程实现
王欣欣
链栈删除基本操作的编程实现
王欣欣
栈的应用举例
王欣欣
队列的定义
王欣欣
顺序队
队列的顺序存储表示
王欣欣
顺序队和循环队的工作原理
王欣欣
链队
队列的链式存储
王欣欣
链队的初始化操作
王欣欣
链队的插入操作
王欣欣
链队的删除操作
王欣欣
实验编程---十进制和其它进制的转换
冷玉池
串和线性表的比较
王欣欣
串的定义及抽象数据类型定义
王欣欣
串定长存储表示及实现
串的定长存储表示
王欣欣
定长串连接的基本算法
王欣欣
定长串连接的基本算法编程实现
王欣欣
串的堆分配存储表示及实现
串的堆分配存储表示
王欣欣
串的堆分配存储插入算法编程实现
王欣欣
实验编程---串操作的实现
冷玉池
树和二叉树
树的基本概念
树的定义
王欣欣
树的基本术语
王欣欣
二叉树
二叉树的定义
王欣欣
二叉树的性质
王欣欣
二叉树的顺序存储
王欣欣
二叉树的顺序存储举例
王欣欣
二叉树的顺序存储结构编程表示
王欣欣
二叉树的二叉链表存储结构及编程表示
王欣欣
二叉树的三叉链表存储结构及编程表示
王欣欣
两种特殊的二叉树
王欣欣
二叉树的遍历
二叉树的遍历方法
王欣欣
树的三种遍历方法及其算法实现
王欣欣
遍历的应用举例
王欣欣
遍历的应用举例1
王欣欣
由遍历序列构造二叉树1
王欣欣
由遍历序列构造二叉树2
王欣欣
树和森林
树的双亲表示方法及程序表示
王欣欣
树的孩子链表表示方法
王欣欣
树的二叉链表表示方法
王欣欣
树和二叉树的转换
王欣欣
森林和二叉树的转换
王欣欣
哈夫曼树
哈夫曼树的基本概念
王欣欣
哈夫曼树的构造方法
王欣欣
哈夫曼树的构造举例1
王欣欣
哈夫曼树的构造举例2
王欣欣
实验编程---先序中序遍历二叉树
冷玉池
图的基本概念
图的定义
王欣欣
图的术语--路径和回路
王欣欣
图的术语--邻接点和度
王欣欣
图的术语--连通图和非连通图
王欣欣
图的术语--强连通图
王欣欣
图的术语--稀疏图稠密图
王欣欣
图的术语--生成树
王欣欣
图的术语--网和权
王欣欣
图的术语--有向图无向图
王欣欣
图的存储结构
无向图的邻接矩阵
王欣欣
有向图的邻接矩阵
王欣欣
网的邻接矩阵
王欣欣
图的邻接矩阵存储编程表示
王欣欣
图的邻接表
王欣欣
图的邻接表存储及编程表示
王欣欣
图的邻接表存储及编程表示2
王欣欣
图的遍历
遍历概念及两种遍历方法
王欣欣
深度优先遍历
王欣欣
广度优先遍历
王欣欣
图的应用
最小生成树
王欣欣
最小生成树的实际应用及方法的引入
王欣欣
实验编程---图的深度优先遍历
冷玉池
查找
基本概念和术语
查找和关键字概念
王欣欣
查找表的概念及基本操作
王欣欣
查找表的分类
王欣欣
如何进行查找
王欣欣
查找成功和查找不成功概念
王欣欣
静态查找表
顺序查找
王欣欣
顺序查找举例2
王欣欣
顺序查找的算法程序
王欣欣
顺序查找的算法程序检验
王欣欣
顺序查找的性能分析
王欣欣
折半查找的引入
王欣欣
折半查找算法
王欣欣
折半查找算法的编程表示
王欣欣
折半查找算法的性能分析
王欣欣
索引顺序表的查找
王欣欣
索引顺序查找表举例
王欣欣
索引表举例
王欣欣
哈希表
哈希表的基本概念
王欣欣
处理冲突的方法
王欣欣
哈希表举例及产生冲突的原因
王欣欣
实验编程---查询学生信息管理系统
冷玉池
排序
排序的基本概念
排序的定义
王欣欣
排序的特性
王欣欣
排序的分类
王欣欣
内部排序算法分类
王欣欣
排序元素类型的约定
王欣欣
插入排序---直接插入排序
直接插入排序算法
王欣欣,王欣欣
直接插入排序举例
王欣欣,王欣欣
直接插入排序算法编写要点1
王欣欣,王欣欣
直接插入排序算法编写要点2
王欣欣,王欣欣
直接插入排序C语言实现
王欣欣,王欣欣
插入排序---折半插入排序
折半插入排序算法及举例
王欣欣,王欣欣
折半插入排序算法C语言实现
王欣欣,王欣欣
插入排序---希尔排序
希尔排序算法及举例
王欣欣,王欣欣
交换排序---冒泡排序
冒泡排序算法
王欣欣,王欣欣
冒泡排序算法举例
王欣欣,王欣欣
交换排序---快速排序
快速排序算法
王欣欣,王欣欣
快速排序算法举例
王欣欣,王欣欣
选择排序---简单选择排序
简单选择排序算法
王欣欣,王欣欣
简单选择排序举例
王欣欣,王欣欣
选择排序---树形选择排序
树形选择排序算法及举例
王欣欣,王欣欣
选择排序---堆排序
堆的定义
王欣欣,王欣欣
堆的举例
王欣欣,王欣欣
堆的筛选
王欣欣,王欣欣
怎样建堆
王欣欣,王欣欣
堆的筛选举例
王欣欣,王欣欣
二路归并排序
二路归并算法
王欣欣
实验编程---学生信息管理系统中的排序
王欣欣
  • 绪章绪论

    “数据结构”是计算机程序设计中一门重要的理论技术基础课程,它不仅是计算机学科的核心课程,而且也是其他理工科专业的热门选修课。“数据结构”不仅涉及计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有密切的关系。“数据结构”是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。著名计算机科学家沃思教授提出的公式:程序 = 算法 + 数据结构,也说明了数据结构的重要性。

  • 0.1课程简介

    由王欣欣,冷玉池老师与大家共同学习,使用课本《数据结构实现教程》(C语言版)西安电子科技大学出版社出版。

  • 0.2数值计算和非数值计算应用问题

    通过解决数值,非数值数据应用问题的分析,介绍了什么是数据结构。

  • 0.3什么是数据结构

    通过解决数值,非数值数据应用问题的分析,介绍了什么是数据结构。

  • 0.4抽象数据类型和head1-1.h

    讲解什么是抽象数据类型
    ,并介绍本书中的每章都要用的头文件head1_1.h。

  • 0.5基本概念和术语

    对一些常用的概念和术语如数据,数据元素,数据对象,数据结构的逻辑结构及二元组表示进行介绍,这些概念和术语在以后的章节中会多次出现

  • 0.6编程---什么是引用参数&

    介绍减少C语言编程的指针使用,提高编程效率,在Vs2010,vc+6.0编程环境下,可以使用引用符号&,介绍引用运算符&的使用方法。

  • 0.7算法和算法分析

    算法与数据结构和程序的关系非常密切。进行程序设计时,先确定相应的数据结构,然后再根据数据结构和问题的需要设计相应的算法。只从特性、要求和时间复杂度等三个方面对算法进行介绍

  • 第一章线性表

    线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象,线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系是指数据元素之间的位置关系.本章介绍了线性表的概念,逻辑性质,抽象数据类型表示及其顺序存储结构,链式存储结构,并对相应存储方式的初始化、插入、删除等基本操作及其编程进行了详细深入讲解,最后介绍了其它线性表。

  • 1.1线性表的类型定义

    介绍了线性表的概念,逻辑性质,抽象数据类型表示。

  • 1.2线性表的顺序存储的表示及其编程实现

    介绍线性表的顺序存储结构,并用C语句进行表示,并介绍了C语言的动态分配函数。

  • 1.3线性表的顺序存储基本操作的编程实现

    介绍顺序表的基本操作,如顺序表的初始化操作,插入,删除操作等,并用C语言对其编程实现,分步讲解C语句,并对宏定义,sizeof(),realloc()函数等进行重点讲解。

  • 1.4顺序表应用综合举例

    利用已实现的顺序表的运算组合可以实现其他更复杂的功能。

  • 1.5线性表的链式存储结构的表示和编程实现

    介绍线性表的链式存储结构,介绍用线性表链式存储的基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步讲解C语句,对其中的函数,头节点,地址域中地址的修改等语句等进行重点讲解。

  • 1.6单链表表应用综合举例

    利用已实现的单链表的运算组合可以实现其他更复杂的功能。

  • 1.7双向链表

    介绍双向链表的链式存储结构,介绍其基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步对重点难点语句进行讲解。

  • 1.8循环链表和双向循环链表

    循环链表和双向循环链表的定义,特征,判断表空的条件等。

  • 1.9线性表的应用--数字钟游戏的编写

    线性表的应用--数字钟游戏的编写

  • 1.10实验编程---约瑟夫环问题

    学会使用顺序表来解决算法的有关问题

  • 第二章栈和队列

    栈和队列是两种常用的数据结构,它们的逻辑结构与线性表相同,它们的特点在于线性运算受到了限制。如果对线性表中的数据按“后进先出”的规则进行操作,这种线性表结构叫做“栈”。如果对线性表中的数据按“先进先出”的规则进行操作,这种线性表结构叫做“队列”,因此,“栈”和“队列”这两种数据结构是运算受限制的线性表。

  • 2.1栈的定义

    栈的逻辑定义,栈是一端操作受限的线性表,只在线性表的一端进行插入和删除操作,另一端不动。

  • 2.2栈的抽象数据类型定义

    栈是一种数据结构,加上一组基本操作,就构成了栈的抽象数据类型。栈的抽象数据类型定义。

  • 2.3顺序栈

    顺序栈即栈的顺序存储结构。用一组地址连续的存储单元依次存放自栈底至栈顶的数据元素,这种顺序存储方式实现的栈称为顺序栈。栈的顺序存储编程实现及其初始化操作及入栈操作编程实现。

  • 2.4链栈

    用线性表的链式存储结构实现的栈称为链栈。链栈的操作易于实现,通常用单链表表示。栈的链式存储结构的表示及栈插入删除基本操作的编程实现。

  • 2.5栈的应用举例

    栈在生活中应用广泛,在数制的转换中用到栈这个数据结构,这节以十进制和八进制的转换为例讲解栈数据结构的应用及编程实现。

  • 2.6队列的定义

    队列的定义,性质,抽象数据类型表示,基本操作简介。还介绍了双端队列,及输入输出受限的双端队列。

  • 2.7顺序队

    队列是一种先进先出的线性表(First In First Out,FIFO),它只允许在表的一端进行插入操作,而在表的另一端进行删除操作,是一种运算受限制的线性表。队列的顺序存储表示及顺序队和循环队的工作原理。

  • 2.8链队

    使用链式存储的队称为链队。链队的初始化操作,链队的插入及删除操作。

  • 2.9实验编程---十进制和其它进制的转换

    使用顺序栈解决数值转换问题

  • 第三章

    串(即字符串)是一种特殊的线性表,它的数据元素是单个字符。在计算机非数值处理的对象中,字符串数据是经常处理的对象,如在汇编和高级语言的编译程序中,源程序和目标程序都是字符串数据;在事务处理程序中,顾客的姓名、地址、货物的产地、名称等,一般也是作为字符串数据处理的;信息检索系统、文字编辑程序、问答系统、自然语言翻译系统都是以字符串数据作为处理对象的。在C语言中,有字符变量、字符串常量,但没有专门的字符串变量。这一章把串作为一个独立的数据结构概念加以研究,介绍串的存储结构及基本运算。

  • 3.1串和线性表的比较

    串和线性表两种线性结构的比较。

  • 3.2串的定义及抽象数据类型定义

    串的定义及抽象数据类型定义

  • 3.3串定长存储表示及实现

    串定长存储表示及串基本算法的定长表示编程实现。

  • 3.4串的堆分配存储表示及实现

    串的堆分配存储表示及插入算法编程实现。

  • 3.5实验编程---串操作的实现

    顺序存储下串操作的实现

  • 第四章树和二叉树

    树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很像自然界中的树。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树型象地表示。树在计算机领域中也有广泛的应用,如在编译源程序时,可用树表示源程序的语法结构,在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述,如满二叉树、完全二叉树、排序二叉树。

  • 4.1树的基本概念

    树的定义,树的特点及树的基本术语

  • 4.2二叉树

    二叉树的定义,性质,两种特殊的二叉树及其二叉树的存储表示。

  • 4.3二叉树的遍历

    遍历的定义,对二叉树的遍历及其三种遍历方法,并由遍历序列构造二叉树。

  • 4.4树和森林

    介绍几种基本的树的存储方式,即双亲表示法、孩子表示法、双亲孩子表示法和孩子兄弟表示法。设定一定规则,就可用二叉树结构表示树和森林,本节讨论树和森林与二叉树之间的转换方法。

  • 4.5哈夫曼树

    哈夫曼(Huffman)树,也称最优树,是一类带权路径长度最短的树,有着广泛应用。学会构造哈夫曼树及哈夫曼编码。

  • 4.6实验编程---先序中序遍历二叉树

    学会使用二叉链表,采用递归发构造二叉树和遍历二叉树

  • 第五章

    图(Graph)是一种比线性表和树更为复杂的数据结构。在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;在树型结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中的多个元素相关,但只能和上一层中的一个元素相关;而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都有可能相关。因此,图的应用相当广泛,在自然科学、社会科学和人文科学等许多领域都有着非常广泛的应用。

  • 5.1图的基本概念

    图由非空的顶点(Vertex)集合和描述顶点之间的关系——边(Edge)或弧(Arc)的集合组成。本节学习图的术语。

  • 5.2图的存储结构

    图是一种复杂的数据结构,顶点之间是多对多的关系,即任意两个顶点之间都可能存在联系。所以无法用顶点在存储区的位置关系来表示顶点之间的联系,即顺序存储结构不能完全存储图的信息,但可以用数组来存储图的顶点信息。要存储顶点之间的关系可以使用链式存储结构或者二维数组。在实际应用中,应根据具体的图和需要进行操作设计恰当的结点结构和表结构。图的存储结构有多种,常用的有邻接矩阵、邻接表和十字链表等。

  • 5.3图的遍历

    图的遍历是指从图中的某个顶点出发,按照某种顺序访问图中的每个顶点,使每个顶点被访问一次且仅被访问一次。图的遍历与树的遍历操作功能相似。图的遍历有深度优先遍历和广度优先遍历两种方式,它们对图和网都适用。

  • 5.4图的应用

    许多应用问题都是一个求无向连通网的最小生成树问题。构造最小生成树的方法有许多种,典型的方法有两种,一种是普里姆(Prim)算法,一种是克鲁斯卡尔(Kruskal)算法。

  • 5.5实验编程---图的深度优先遍历

    采用邻接矩阵,对图进行深度优先遍历和广度优先遍历

  • 第六章查找

    在日常生活中经常需要进行查找。比如,在英汉词典中查找某个英文单词的中文解释,在图书馆中查找一本书等。查找是为了得到某个信息而进行的工作。
    在程序设计中,查找是对数据结构中的记录(和排序一样,在查找中把数据元素称为记录)进行处理时经常采用的一种操作。查找又称检索,是计算机科学中的重要研究课题之一,其目的就是从确定的数据结构中找出某个特定的记录。查找在程序中耗时最多,因此,一个好的查找方法会大大提高程序的运行速度。

  • 6.1基本概念和术语

    查找(Search)是在数据结构中确定是否存在关键字等于给定关键字的记录的过程。学习查找的基本概念和术语。

  • 6.2静态查找表

    由于静态查找不需要在静态查找表中插入或删除记录,静态查找表的数据结构是线性结构。本节介绍顺序查找,折半查找算法和索引顺序表的查找。

  • 6.3哈希表

    哈希表(Hash Table)就是这样一种查找表,记录的关键字与记录存放位置之间的映射函数叫哈希函数。因此,哈希表是通过哈希函数来确定记录存放位置的一种数据结构。本节学习如何建立哈希表,及处理表冲突的方法。

  • 6.4实验编程---查询学生信息管理系统

    顺序表下的顺序查找

  • 第七章排序

    排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。本章讲了排序算法的特性,主要讲解内部排序的各种排序方法。

  • 7.1排序的基本概念

    排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。排序分为两类:内部排序和外部排序。为了便于读者理解,记录序列中只列出关键字部分,设待排序记录的关键字均为整数,则在以后讨论的大部分算法中,待排记录的数据类型也都介绍了。

  • 7.2插入排序---直接插入排序

    直接插入排序(基于顺序查找)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。本节介绍直接插入排序的算法及C语言编写。

  • 7.3插入排序---折半插入排序

    在有序表中确定插入位置,还可以通过二分有序表的方法来确定插入位置,由此进行的插入排序称为折半插入排序。本节介绍折半排序算法及C语言编程。

  • 7.4插入排序---希尔排序

    希尔排序又称缩小增量排序,是1959年由D. L. Shell提出来的,较前述几种插入排序方法有较大的改进。本节介绍希尔排序算法

  • 7.5交换排序---冒泡排序

    本节介绍冒泡排序算法

  • 7.6交换排序---快速排序

    本节介绍交换排序---快速排序算法

  • 7.7选择排序---简单选择排序

    选择排序---简单选择排序

  • 7.8选择排序---树形选择排序

    选择排序---树形选择排序

  • 7.9选择排序---堆排序

    选择排序---堆排序

  • 7.10二路归并排序

    堆排序举例

  • 7.11实验编程---学生信息管理系统中的排序

    对记录项进行排序

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

    0.1 课程简介

    0.2 数值计算和非数值计算应用问题

    0.3 什么是数据结构

    0.4 抽象数据类型和head1-1.h

    0.5 基本概念和术语

    0.6 编程---什么是引用参数&

    0.7 算法和算法分析

    视频数17
  • 第一章  作业测试
    第一章 线性表

    1.1 线性表的类型定义

    1.2 线性表的顺序存储的表示及其编程实现

    1.3 线性表的顺序存储基本操作的编程实现

    1.4 顺序表应用综合举例

    1.5 线性表的链式存储结构的表示和编程实现

    1.6 单链表表应用综合举例

    1.7 双向链表

    1.8 循环链表和双向循环链表

    1.9 线性表的应用--数字钟游戏的编写

    1.10 实验编程---约瑟夫环问题

    视频数36
  • 第二章  作业测试
    第二章 栈和队列

    2.1 栈的定义

    2.2 栈的抽象数据类型定义

    2.3 顺序栈

    2.4 链栈

    2.5 栈的应用举例

    2.6 队列的定义

    2.7 顺序队

    2.8 链队

    2.9 实验编程---十进制和其它进制的转换

    视频数20
  • 第三章  作业测试
    第三章

    3.1 串和线性表的比较

    3.2 串的定义及抽象数据类型定义

    3.3 串定长存储表示及实现

    3.4 串的堆分配存储表示及实现

    3.5 实验编程---串操作的实现

    视频数8
  • 第四章  作业测试
    第四章 树和二叉树

    4.1 树的基本概念

    4.2 二叉树

    4.3 二叉树的遍历

    4.4 树和森林

    4.5 哈夫曼树

    4.6 实验编程---先序中序遍历二叉树

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

    5.1 图的基本概念

    5.2 图的存储结构

    5.3 图的遍历

    5.4 图的应用

    5.5 实验编程---图的深度优先遍历

    视频数22
  • 第六章  作业测试
    第六章 查找

    6.1 基本概念和术语

    6.2 静态查找表

    6.3 哈希表

    6.4 实验编程---查询学生信息管理系统

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

    7.1 排序的基本概念

    7.2 插入排序---直接插入排序

    7.3 插入排序---折半插入排序

    7.4 插入排序---希尔排序

    7.5 交换排序---冒泡排序

    7.6 交换排序---快速排序

    7.7 选择排序---简单选择排序

    7.8 选择排序---树形选择排序

    7.9 选择排序---堆排序

    7.10 二路归并排序

    7.11 实验编程---学生信息管理系统中的排序

    视频数27
  • 期末考试