当前课程知识点:数据结构 >  第2章 线性表 >  2.1 概念及ADT >  讲解

返回《数据结构》慕课在线视频课程列表

讲解在线视频

下一节:讲解(上)

返回《数据结构》慕课在线视频列表

讲解课程教案、知识点、字幕

同学们,今天我们来学习第二章——线性表

本章主要包含以下四节内容

先进入第一节——概念及ADT。先来看线性表的相关概念

线性表是由若干元素构成的有限序列

这里要强调的是序列。若干个元素

它们之间是有位序

区分的。比如,记一个线性表L

它等于n个元素

a1

到an,如果把它抽象成图

就是元素与元素之间有一对一的关系

第一个元素是表头,最后一个元素是表尾

这里的n

就是表长

也就是一个线性表当中,包含的元素个数

如果

n等于0

那就是空表

a(i-1)称为ai的前驱

注意,a1是没有前驱的

a(i+1)是ai的后继

同样,最后一个元素

an是没有后继的

下面是线性表的特性

在讲线性表的特性的时候

包括以后每一个数据结构的特性的时候

我们讲的都是它的逻辑特性

跟计算机实现是没有任何关系的

对于任何一个非空的线性表,有以下的一些特性

第一,有且仅有一个表头元素

也就是刚才说的a1

有且仅有一个表尾元素

也就是an。除表头外

其他元素有且仅有一个前驱

也就是说

除了a1没有前驱,其他的n-1个元素都是有

一个而且仅有一个前驱

类似地

除了表尾外

除了an外

每一个元素都有一个后继

下面是线性表的抽象数据类型定义

元素和关系,采用自然语言

数学语言来描述都可以

这里的每一个元素来自于一个集合,叫ElementSet——元素集合

这个元素集合到底是什么呢

取决于你要表达的现实应用

比如,你描述的是一个由若干学生构成的序列

那这里的元素集合可能是学生

如果你描述的是

若干个订单构成的序列

那么,它可能是一个订单。关系呢

a(i-1)和ai

它们是前驱和后继的关系

是一种偏序关系

下面,我们来看操作部分。第一个操作init——初始化

L从无到有

在内存当中,建立出一个线性表L的结构

那么,肯定要修改L

所以,在L的前面有一个引用参数

第二个操作——销毁,L在内存当中,从有到无,L也要被修改

所以,它也有引用参数

第三个操作

isEmpty,判断线性表

L是否为空

也就是,它的表长n

是否等于0。这个操作

并没有用返回值

而是用第二个参数empty,来接收最后的结果

如果表长为空

我们把empty修改成1

否则修改成0

所以,第二个参数前面有引用参数的语法。第四个操作getElem——得到线性表

L第i个位置的元素,把它放到e里面

e需要被修改

第五个操作

在线性表L的第i个位置之前,插入元素e

L也要被修改

最后一个操作,删除线性表L的第i个元素

我们把被删除的元素也放到e里面

数据结构课程列表:

第0章 课程简介

-讲解

-作业

-讨论1

-讨论2

第1章 绪论

-1.1 数据结构是什么

--讲解

--作业

-1.2 概念和术语

--讲解

--作业1

--作业2

-1.3 抽象数据类型

--讲解(上)

--讲解(下)

--作业

-1.4 算法及其设计要求

--讲解

--作业

-1.5 算法分析与度量

--讲解(上)

--讲解(下)

--作业1

--作业2

--讨论

第2章 线性表

-2.1 概念及ADT

--讲解

--作业

-2.2 线性表的顺序实现——顺序表

--讲解(上)

--讲解(中)

--讲解(下)

--作业1

--作业2

-2.3 线性表的链式实现——链表

--讲解(上)

--讲解(中)

--讲解(下)

--作业1

--作业2

-2.4 线性表的应用——多项式

--讲解

--作业

-讨论

第3章 栈和队列

-3.1 栈的定义及ADT

--讲解

--作业

-3.2 栈的顺序实现——顺序栈

--讲解

--作业

-3.3 栈的应用

--讲解

--作业

-3.4 栈与递归

--讲解(上)

--讲解(下)

--作业

-3.5 队列的定义及ADT

--讲解

--作业

-3.6 队列的顺序实现——循环队列

--讲解(上)

--讲解(下)

--作业

-讨论

第4章 数组

-4.1 数组的定义

--讲解

--作业

-4.2 数组的顺序实现

--讲解

--作业1

--作业2

-4.3 特殊矩阵的压缩存储

--讲解

--作业

-4.4 稀疏矩阵的压缩存储

--讲解(上)

--讲解(下)

--作业

-讨论

第5章 树和二叉树

-5.1 概念及术语

--讲解

--作业

-5.2 二叉树及其性质

--讲解

--作业1

--作业2

-5.3 二叉树的存储

--讲解

--作业

-5.4 二叉树的遍历及创建

--讲解(上)

--讲解(下)

--作业

-5.5 线索二叉树

--讲解

--作业

-5.6 树与森林

--讲解

--作业

-5.7 Huffman树

--讲解(上)

--讲解(下)

--作业

-讨论

第6章 图

-6.1 概念和术语

--讲解

--作业

-6.2 存储与实现

--讲解(上)

--讲解(下)

--作业

-6.3 遍历

--讲解(上)

--讲解(下)

--作业

-6.4 最小生成树

--讲解(上)

--讲解(下)

--作业1

--作业2

-6.5 拓扑排序

--讲解

--作业

-6.6 最短路径

--讲解

--作业

-讨论

第7章 查找

-7.1 概念和术语

--讲解

--作业

-7.2 静态查找表

--讲解(上)

--讲解(下)

--作业

-7.3 二叉排序树

--讲解(上)

--讲解(下)

--作业

-7.4 平衡二叉树

--讲解

--作业

-7.5 哈希表

--讲解(上)

--讲解(下)

--作业

-讨论

第8章 排序

-8.1 概念

--讲解

--作业

-8.2 插入排序

--讲解(上)

--讲解(下)

--作业

-8.3 交换排序

--讲解(上)

--讲解(下)

--作业

-8.4 选择排序

--讲解(上)

--讲解(中)

--讲解(下)

--作业

-8.5 归并排序

--讲解

--作业

-讨论

讲解笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。