数据结构(严蔚敏)课件第7章

合集下载

严蔚敏数据结构 (7)

严蔚敏数据结构 (7)
第2章 线性表
2.1 线性表的逻辑结构 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 应用举例
P31例 前面已讲) 例1:两个链表的归并(教材P31例,前面已讲) 两个链表的归并(教材P31 教材P39 43,前面已讲) P39–43 例2:一元多项式的计算 (教材P39 43,前面已讲) 例3:试用C或类C语言编写一个高效算法,将一循 试用C或类C语言编写一个高效算法, 高效算法 环单链表就地逆置. 环单链表就地逆置. 操作前:( 操作前:(a1, a2, … ai-1,ai, ai+1 ,…, an) :( , 操作后:( 操作后:( an, … ai+1 ,ai, ai-1 ,…, a2, a1 )
head a2 a1 ^
实际上是链 栈的概念
替换法的核心语句: 替换法的核心语句: q=head; p=head->next; //有头结点 有头结点 while(p!=head) //循环单链表 循环单链表 { r=p->next; p->next=q; //前驱变后继 前驱变后继 q=p; p=r; } //准备处理下一结点 准备处理下一结点 head->next=q; // 以an为首
静态单链表的类型定义如下: 静态单链表的类型定义如下:
#define MAXSIZE 1000 //预分配最大的元素个数(连续空间 //预分配最大的元素个数 预分配最大的元素个数( typedef struct { ElemType data ; //数据域 //数据域 int cur ; //指示域 //指示域 }component , SLinkList[MAXSIZE] ; //这是一维结构型数组 //这是一维结构型数组
双向链表的插入操作: 双向链表的插入操作:

教学课件 数据结构--严蔚敏

教学课件 数据结构--严蔚敏
1.1 数据结构讨论的范畴 1.2 基本概念 1.3 算法和算法的量度
1.1 数据结构讨论的范畴
Niklaus Wirth:
Algorithm + Data Structures = Programs
程序设计:
算法: 数据结构:
为计算机处理问题编制 一组指令集
处理问题的策略
问题的数学模型
例如: 数值计算的程序设计问题
结构静力分析计算 ─━ 线性代数方程组
全球天气预报 ─━ 环流模式方程 (球面坐标系)
非数值计算的程序设计问题
例一: 求一组(n个)整数中的最大值 算法: ? 基本操作是“比较两个数的大小” 模型:? 取决于整数值的范围
例二:计算机对弈
算法:? 对弈的规则和策略 模型:? 棋盘及棋盘的格局
例三:足协的数据库管理
S 是 D上关系的有限集。
数据的存储结构
—— 逻辑结构在存储器中的映象
“数据元素”的映象 ?
“关系”的映象 ?
数据元素的映象方法:
用二进制位(bit)的位串表示数据元素 (321)10 = (501)8 = (101000001)2 A = (101)8 = (001000001)2
关系的映象方法:(表示x, y的方法)
抽象数据类型的表示和实现
抽象数据类型需要通过固有数据 类型(高级编程语言中已实现的数据 类型)来实现。
例如,对以上定义的复数。
// -----存储结构的定义
typedef struct { float realpart; float imagpart;
}complex;
// -----基本操作的函数原型说明
顺序映象
以相对的存储位置表示后继关系 例如:令 y 的存储位置和 x 的存储位置之间差一个常量 C

《数据结构(C语言版 第2版)》(严蔚敏 著)第七章练习题答案

《数据结构(C语言版 第2版)》(严蔚敏 著)第七章练习题答案

《数据结构(C语言版第2版)》(严蔚敏著)第七章练习题答案第7章查找1.选择题(1)对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。

A.(n-1)/2B.n/2C.(n+1)/2D.n答案:C解释:总查找次数N=1+2+3+…+n=n(n+1)/2,则平均查找长度为N/n=(n+1)/2。

(2)适用于折半查找的表的存储方式及元素排列要求为()。

A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序答案:D解释:折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

(3)如果要求一个线性表既能较快的查找,又能适应动态变化的要求,最好采用()查找法。

A.顺序查找B.折半查找C.分块查找D.哈希查找答案:C解释:分块查找的优点是:在表中插入和删除数据元素时,只要找到该元素对应的块,就可以在该块内进行插入和删除运算。

由于块内是无序的,故插入和删除比较容易,无需进行大量移动。

如果线性表既要快速查找又经常动态变化,则可采用分块查找。

(4)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。

若查找表中元素58,则它将依次与表中()比较大小,查找结果是失败。

A.20,70,30,50B.30,88,70,50C.20,50D.30,88,50答案:A解释:表中共10个元素,第一次取⎣(1+10)/2⎦=5,与第五个元素20比较,58大于20,再取⎣(6+10)/2⎦=8,与第八个元素70比较,依次类推再与30、50比较,最终查找失败。

(5)对22个记录的有序表作折半查找,当查找失败时,至少需要比较()次关键字。

A.3B.4C.5D.6答案:B解释:22个记录的有序表,其折半查找的判定树深度为⎣log222⎦+1=5,且该判定树不是满二叉树,即查找失败时至多比较5次,至少比较4次。

(6)折半搜索与二叉排序树的时间性能()。

数据结构[严蔚敏]7

数据结构[严蔚敏]7
边,这样的无向图称为完全无向图。
完全有向图:对于有向图,若图中顶点数为n ,用
e表示弧的数目,则e[0,n(n-1)] 。具有n(n-1)条边的有 向图称为完全有向图。
完全有向图另外的定义是:
对于有向图G=(V,E),若vi,vjV ,当vi ≠vj时,有 <vi ,vj>E∧<vj , vi >E ,即图中任意两个不同的顶点间都有一 条弧,这样的有向图称为完全有向图。 有很少边或弧的图(e<n㏒n)的图称为稀疏图,反之称为 稠密图。
连通图、图的连通分量:对无向图G=(V,E),若vi ,
vj V,vi和vj都是连通的,则称图G是连通图,否则称为非连 通图。若G是非连通图,则极大的连通子图称为G的连通分 量。 对有向图G=(V,E),若vi ,vj V,都有以vi为起点, vj 为终点以及以vj为起点,vi为终点的有向路径,称图G是强连 通图,否则称为非强连通图。若G是非强连通图,则极大的 强连通子图称为G的强连通分量。 “极大”的含义:指的是对子图再增加图G中的其它顶 点,子图就不再连通。
a c b e d c b e a d a
6 3
b
3
2
c
4
d
1
5
e
(a) 有向图
(b) 生成森林
图7-3 有向图及其生成森林
图7-4 带权有向图
7.1.2 图的抽象数据类型定义
图是一种数据结构,加上一组基本操作就构成了图 的抽象数据类型。 图的抽象数据类型定义如下: ADT Graph{
数据对象V:具有相同特性的数据元素的集合,称为 顶点集。
(c) 邻接矩阵
图7-8 带权有向图的数组存储
⑶ 有向图邻接矩阵的特性

数据结构严蔚敏7章图ppt课件

数据结构严蔚敏7章图ppt课件

InfoType *info;
}VNode,AdjList[MAX_V];
}ArcNode;
typedef struct //图的邻接表类型
{ AdjList vertices; //存储图中所有顶点的数组
int vexnum,arcnum; //存储图的顶点数目和边(弧)的数目
int kind; //图的种类标志
返回
表结点
adjvex nextarc info
表头结点
data firstarc
typedef struct ArcNode typedef struct
{ int adjvex;
{ VertexType data;
struct ArcNode *nextarc; ArcNode *firstarc;
}ArcCell,AdjMatrix[MAX_V][MAX_V];
typedef struct
{ VertexType vex[MAX_V]; //顶点信息数组(如顶点编号等)
AdjMatrix arcs;
//图的邻接矩阵
int vexnum,arcnum; //图的顶点数和边(弧)的数目
GraphKind kind;//图的种类标志
A CB F DE G (a) 有向图G1
A BC D EF (b) 无向图G2
返回
2 几个常用术语 可以证明,对于具有n个顶点的无向图的边和具有n个
顶点的有向图的弧的最大数目分别为n(n-1)/2和n(n-1)。 称具有n(n-1)/2条边的无向图为完全图(completed
grahp)。 称具有n(n-1)条弧的有向图为完全有向图 称边或弧的数目e<nlogn的图为稀疏图(sparse

数据结构严蔚敏PPT培训课件

数据结构严蔚敏PPT培训课件

【重点和难点】
相对于其它各个知识点而言,本章非整个课程 的重点,鉴于串已是多数高级语言中已经实现的数 据类型,因此本章重点仅在于了解串类型定义中各 基本操作的定义以及串的实现方法,并学会利用这 些基本操作来实现串的其它操作。本章的难点是理 解实现串匹配的KMP算法的思想,但它不属本章学 习的基本要求,更不是重点学习内容。
初始条件:chars 是字符串常量。 操作结果:把 chars 赋为 T 的值。
StrCopy (&T, S) 初始条件:串 S 存在。 操作结果:由串 S 复制得串 T。
DestroyString (&S)
____________________________________________________________ 36.2 最低报价不是被授予合同的保证。 ( 四 )具有较高的综合素质,创新意识、业务能力、组织协调能力、语言文字和口头表达能力较强。 7、培训要求 在对服务人才的培训过程中,最重要的是加强员工的服务意识,使员工们认识到服务的价值是为了维护自己的工作权。只有这样,员
数据关系:
R1={ < ai-1, ai > | ai-1, ai ∈D, i=2,...,n }
基本操作:
StrAssign (&T, chars)
DestroyString(&S) StrCopy (&T, S)
StrLength(S) StrCompare (S, T)
Concat (&T, S1, S2) StrEmpty (S)
操作结果:串 S 被销毁。 2、钢瓶的检查制度
7.2 卖方应在合同货物起运前或同时对装运的货物向保险公司投保以买方为受益人的发运合同货物发票金额的110%运输“一切险” 。该保险应履盖合同货物自卖方的发运仓库起至买方指定的工地仓库或工地安装现场开箱验收完毕止。

数据结构严蔚敏ppt课件

数据结构严蔚敏ppt课件

数据结构严蔚敏ppt课件数据结构(严蔚敏)版●资料上传者:安徽大学研究生●资料使用范围:各大学考研及本科教学●欢迎报考安徽大学研究生●“星光考研书屋”祝您学习愉快[学习目标]掌握线性表的顺序存储结构和抽象数据类型中定义的每一种操作的含义,在顺序存储方式下每一种操作的具体实现和相应的时间复杂度;掌握链接存储的概念,线性表的单、双链接存储结构,对它们进行插入和删除结点的方法,循环单、双链表和带表头附加结点的单、双链表的结构和操作特点;掌握每一种线性表操作在由动态结点构成的单链表上具体实现的算法以及相应的时间复杂度。

2第2章线性表线性结构是最常用、最简单的一种数据结构。

而线性表是一种典型的线性结构。

其基本特点是线性表中的数据元素是有序且是有限的。

在这种结构中:① 存在一个唯一的被称为“第一个”的数据元素;② 存在一个唯一的被称为“最后一个”的数据元素;③ 除第一个元素外,每个元素均有唯一一个直接前驱;④ 除最后一个元素外,每个元素均有唯一一个直接后继。

32.1 线性表的逻辑结构线性表(Linear List ) :是由n(n ≧0)个数据元素(结点)a 1,a 2,…a n 组成的有限序列。

该序列中的所有结点具有相同的数据类型。

其中数据元素的个数n 称为线性表的长度。

当n=0时,称为空表。

当n>0时,将非空的线性表记作: (a 1,a 2,…a n ) a 1称为线性表的第一个(首)结点,a n 称为线性表的最后一个(尾)结点。

2.1.1 线性表的定义4a1,a2,…a i-1都是a i(2≦i≦n)的前驱,其中a i-1是a i的直接前驱;a i+1,a i+2,…a n都是a i(1≦i ≦n-1)的后继,其中a i+1是a i 的直接后继。

2.1.2线性表的逻辑结构线性表中的数据元素a i所代表的具体含义随具体应用的不同而不同,在线性表的定义中,只不过是一个抽象的表示符号。

◆线性表中的结点可以是单值元素(每个元素只有一个数据项) 。

最新数据结构(严蔚敏)课件第7章

最新数据结构(严蔚敏)课件第7章
数据结构(严蔚敏)课件第7章
【学习目标】
1.领会图的类型定义。 2.熟悉图的各种存储结构及其构造算法, 了解各种存储结构的特点及其选用原则。 3.熟练掌握图的两种遍历算法。 4.理解各种图的应用问题的算法。
2020/12/4
第2页
【重点和难点】
图的应用极为广泛,而且图的各种应用问题的 算法都比较经典,因此本章重点在于理解各种图的 算法及其应用场合。
顶点的度(TD)= 出度(OD)+入度(ID)
第13页
设图G=(V,{VR})中的一个顶点序列
{ u=vi,0,vi,1, …, vi,m=w}中,(vi,j-1,vi,j)VR 1≤j≤m, 则称从顶点u 到顶点w 之间存在一条路径。
路径上边(或弧)的数目称作路径长度。
如:长度为3的路径 简单路径:序列中顶点
由顶点集和边 集构成的图称
作无向图。
例如: G2=(V2,VR2)
V2={A, B, C, D, (A,E),
(B,E),(C,D),(D,F),
A
(B,F),(C,F)}
2020/12/4
F
第8页
C D
E
名词和术语
网、子图 完全图、稀疏图、稠密图
邻接点、度、入度、出度 路径、路径长度、简单路径、简单回路
Graph = (V , VR ) 其中,VR={<v,w>| v,w∈V 且 P(v,w)}
<v,w>表示从 v 到 w 的一条弧,并称 v 为 弧头,w 为弧尾。 谓词 P(v,w) 定义了弧第6页<v,w>的意义或信息
2020/12/4
由于“弧”是有方向的,因此称由顶点集 和弧集构成的图为有向图。

数据结构第七章--图(严蔚敏版)

数据结构第七章--图(严蔚敏版)
9个顶点 个顶点
8个顶点的无向图最多有 条边且该图为连通图 个顶点的无向图最多有28条边且该图为连通图 个顶点的无向图最多有 连通无向图构成条件:边 顶点数 顶点数-1)/2 顶点数*(顶点数 连通无向图构成条件 边=顶点数 顶点数 顶点数>=1,所以该函数存在单调递增的单值反 顶点数 所以该函数存在单调递增的单值反 函数,所以边与顶点为增函数关系 所以28个条边 函数 所以边与顶点为增函数关系 所以 个条边 的连通无向图顶点数最少为8个 所以28条边的 的连通无向图顶点数最少为 个 所以 条边的 非连通无向图为9个 加入一个孤立点 加入一个孤立点) 非连通无向图为 个(加入一个孤立点
28
无向图的邻接矩阵为对称矩阵
2011-10-13
7.2
图的存储结构
Wij 若< vi,vj > 或<vj,v i > ∈E(G)
若G是网(有权图),邻接矩阵定义为 是网(有权图), ),邻接矩阵定义为
A [ i,j ] = , 0或 ∞
如图: 如图:
V1
若其它
V2
3 4
2
V3
2011-10-13
C
A
B
D 2011-10-13 (a )
3
Königsberg七桥问题
• Königsberg七桥问题就是说,能否从某点出发 通过每桥恰好一次回到原地?
C
C
A B

A D
B
D (a)
2011-10-13
(b)
4
第七章 图
7.1 图的定义 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径
2011-10-13

数据结构 C语言版(严蔚敏版)第7章 图

数据结构 C语言版(严蔚敏版)第7章 图
data Fout
1
2
4
1
e6 2 4
2016/11/7
29
7.3 图的遍历



从已给的连通图中某一顶点出发,沿着一 些边访遍图中所有的顶点,且使每个顶点 仅被访问一次,就叫做图的遍历 ( Graph Traversal )。 图中可能存在回路,且图的任一顶点都可 能与其它顶点相通,在访问完某个顶点之 后可能会沿着某些边又回到了曾经访问过 的顶点。 为了避免重复访问,可设置一个标志顶点 是否被访问过的辅助数组 visited [ ]。
2
1 2
V2
V4
17
结论:



无向图的邻接矩阵是对称的; 有向图的邻接矩阵可能是不对称的。 在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 行 1 的个数可得顶点 j 的入度。 在无向图中, 统计第 i 行 (列) 1 的个数可得 顶点i 的度。
2016/11/7

18

2
邻接表 (出度表)
adjvex nextarc
data firstarc
0 A 1 B 2 C
2016/11/7
1 0 1
逆邻接表 (入度表)
21

网络 (带权图) 的邻接表
6 9 0 2 1 C 2 8 3 D
data firstarc Adjvex info nextarc
2016/11/7
9



路径长度 非带权图的路径长度是指此路径 上边的条数。带权图的路径长度是指路径 上各边的权之和。 简单路径 若路径上各顶点 v1,v2,...,vm 均不 互相重复, 则称这样的路径为简单路径。 回路 若路径上第一个顶点 v1 与最后一个 顶点vm 重合, 则称这样的路径为回路或环。

数据结构(C)严蔚敏-(文件)PPT课件

数据结构(C)严蔚敏-(文件)PPT课件

2021/3/12
Page 2
单关键字文件
❖ 文件中的记录只有一个唯一标识记录的主关键字。
多关键字文件
❖ 文件中的记录除了含有一个主关键字外,还含有若干个次关键字。
记录的属性
❖ 记录中所有非关键字的数据项。
记录的逻辑结构
❖ 记录在用户或应用程序员面前呈现的方式,是用户对数据的表示和 存取方式。
文件的检索方式
❖ 顺序存取:存取下一个逻辑记录。 ❖ 直接存取;存取第i个逻辑记录。 ❖ 按关键字存取:
简单查询、区域查询、函数查询、布尔查询
Data Structure
2021/3/12
Page 4
文件的修改
❖ 记录的插入、删除、修改。
文件的物理结构
❖ 文件在外存上的组织方式。 ➢ 顺序组织 ➢ 随机组织 ➢ 链组织
记录的物理结构
❖ 数据在物理存储器上存储的方式,是数据的物理表示和组织。
Data Structure
2021/3/12
Page 3
物理记录
❖ 计算机用一条I/0命令进行读写的基本数据单位(物理块)。 ❖ 物理记录和逻辑记录之间可能存在下列三种关系:
➢ 一个物理记录存放一个逻辑记录; ➢ 一个物理记录包含多个逻辑记录; ➢ 多个物理记录表示一个逻辑记录。
项。索引项指出该记录的物理地址。最后,索引表按关键字排序。 ❖ 只能存储在磁盘存储设备上。
Data Structure
2021/3/12
Page 8
物理记录号 职工号 姓名 职务 其他
101
29 张珊 程序员
103
05 李四 维修员
104
02 王红 程序员
105
38 刘淇 穿孔员

(2024年)数据结构严蔚敏PPT完整版

(2024年)数据结构严蔚敏PPT完整版

选择排序的基本思想
在未排序序列中找到最小(或最大)元素,存放到排序 序列的起始位置,然后,再从剩余未排序元素中继续寻 找最小(或最大)元素,然后放到已排序序列的末尾。 以此类推,直到所有元素均排序完毕。
2024/3/26
33
交换排序和归并排序
交换排序的基本思想
通过不断地交换相邻的两个元素(如果它们的顺序错 误)来把最小的元素“浮”到数列的一端。具体实现 时,从第一个元素开始,比较相邻的两个元素,如果 前一个比后一个大,则交换它们的位置;每一对相邻 元素做同样的工作,从开始第一对到结尾的最后一对 ;这步做完后,最后的元素会是最大的数;针对所有 的元素重复以上的步骤,除了最后一个;持续每次对 越来越少的元素重复上面的步骤,直到没有任何一对 数字需要比较。
图的基本操作
创建图、添加顶点、添加边、删除顶点、删除边 等
2024/3/26
27
图的存储结构
01
邻接矩阵表示法
用一个二维数组表示图中顶点间的 关系,适用于稠密图
十字链表表示法
用于有向图,可以方便地找到任一 顶点的入边和出边
03
2024/3/26
02
邻接表表示法
用链表表示图中顶点间的关系,适 用于稀疏图
入栈操作将元素添加到栈顶,出栈操作将栈顶元素删 除,取栈顶元素操作返回栈顶元素但不删除,判断栈
是否为空操作检查栈中是否有元素。
2024/3/26
12
栈的表示和实现
栈可以用数组或链表来实现。
用数组实现时,需要预先分配一块连续的内存空间,用一个变量指示栈顶位置。入栈和出栈操作都可以 通过移动栈顶位置来实现。
22
二叉树的定义和基本操作
二叉树的定义
二叉树是一种特殊的树,每个节点最 多有两个子节点,分别称为左子节点 和右子节点。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章 图
高校教育精品PPT
1
【课前思考】
1. 同学们有没有发现现在的十字路口的交通灯已从过去的一对改为三对, 即每个方向的直行、左拐和右拐能否通行都有相应的交通灯指明。你能否 对某个丁字路口的6条通路画出和第一章绪论中介绍的"五叉路口交通管理 示意图"相类似的图?
同学们一定可以画出如下所示类似的图形。
<v,w>表示从 v 到 w 的一条弧,并称 v 为 弧头,w 为弧尾。 谓词 P(v,w) 定义了高弧校教育精<品vPP,Tw>的意义或信息7 。
由于“弧”是有方向的,因此称由顶点集 和弧集构成的图为有向图。
例如: G1 = (V1, VR1)
A
B
E
CD
其中 V1={A, B, C, D, E} VR1={<A,B>, <A,E>,
高校教育精品PPT
3
【重点和难点】
图的应用极为广泛,而且图的各种应用问题的 算法都比较经典,因此本章重点在于理解各种图的 算法及其应用场合。
【知识点】
图的类型定义、图的存储表示、图的深度优先搜 索遍历和图的广度优先搜索遍历、无向网的最小生成 树、最短路径、拓扑排序、关键路径。
高校教育精品PPT
4
【学习指南】
10
15 A 9
11
B 7 21
E
3Hale Waihona Puke C2 F弧或边带权的图 分别称作有向网或 无向网。
B
设图G=(V,{VR}) 和
图 G=(V,{VR}), 且 VV, VRVR,
B
A
则称 G 为 G 的子图。
高校教育精品PPT
CC
E F 11
假设图中有 n 个顶点,e 条边,则
含有 e=n(n-1)/2 条边的无向图称作完 全图;
5
7.1 图的定义与术语
7.2 图的存储表示
7.3 图的遍历
7.4 最小生成树
7.5 重(双)连通图和关节点
7.6 两点之间的最短路径问题
7.7 拓扑排序
7.8 关键路径
高校教育精品PPT
6
7.1 图的定义与术语
图的结构定义:
图是由一个顶点集 V 和一个弧集 R构成 的数据结构。
Graph = (V , VR ) 其中,VR={<v,w>| v,w∈V 且 P(v,w)}
14
设图G=(V,{VR})中的一个顶点序列
{ u=vi,0,vi,1, …, vi,m=w}中,(vi,j-1,vi,j)VR 1≤j≤m, 则称从顶点u 到顶点w 之间存在一条路径。
路径上边(或弧)的数目称作路径长度。
如:长度为3的路径 简单路径:序列中顶点
{A,B,C,F}
不重复出现的路径。
离散数学中的图论是专门研究图性质的一个数学分
支,但图论注重研究图的纯数学性质,而数据结构中对
图的讨论则侧重于在计算机中如何表示图以及如何实现
图的操作和应用等。图是较线性表和树更为复杂的数据
结构,因此和线性表、树不同,虽然在遍历图的同时可
以对顶点或弧进行各种操作,但更多图的应用问题如求
最小生成树和最短路径等在图论的研究中都早已有了特
A
简单回路:序列中第一
B
E 个顶点和最后一个顶
点相同的路径而其余
C
F 顶点不重复。 高校教育精品PPT
15
若图G中任意两个顶
B
点之间都有路径相通,
则称此图为连通图; A
C D
B A
F
C
F
E
D 若无向图为非连通图, 则图中各个极大连通
E
子图称作此图的连通
分量。
高校教育精品PPT
16
对有向图,若任意两个顶点之间都存在
一条有向路径,则称此有向图为强连通图。
否则,其各个强连通子图称作它的 强连通分量。
A
A
B
EB
E
CF
CF
高校教育精品PPT
17
假设一个连通图有 n 个顶点和 e 条边, 其中 n-1 条边和 n 个顶点构成一个极小连 通子图,称该极小连通子图为此连通图的 生成树。
B A
F
C
对非连通图,则
称由各个连通分
D 量的生成树的集
合为此非连通图
E
的生成森林。
高校教育精品PPT
18
基本操作
结构的建立和销毁
对顶点的访问操作
插入或删除顶点
插入和删除弧
对邻接点的操作
遍历
高校教育精品PPT
19
结构的建立和销毁
B
VR2={(A,B),(A,E),
(B,E),(C,D),(D,F),
A
(B,F),(C,F)}
F
高校教育精品PPT
C D
E 9
名词和术语
网、子图
完全图、稀疏图、稠密图
邻接点、度、入度、出度
路径、路径长度、简单路径、简单回路
连通图、连通分量、 强连通图、强连通分量
生成树、生成森林
高校教育精品PPT
2. 如果每次让三条路同时通行,那么从图看出哪些路可以同时通行?
同时可通行的路为:
(AB,BC,CA),(AB,BC,BA),(AB,AC,CA),(CB,CA,BC)
高校教育精品PPT
2
【学习目标】
1.领会图的类型定义。 2.熟悉图的各种存储结构及其构造算法, 了解各种存储结构的特点及其选用原则。 3.熟练掌握图的两种遍历算法。 4.理解各种图的应用问题的算法。
<B,C>, <C,D>, <D,B>, <D,A>, <E,C> }
高校教育精品PPT
8
若<v, w>VR 必有<w, v>VR, 则称 (v,w) 为顶点v 和顶点 w 之间存在一条边。
由顶点集和边 集构成的图称
作无向图。
例如: G2=(V2,VR2)
V2={A, B, C, D, E, F}
B
C
ID(B) = 3 ID(A) = 2
A F
高校教育精品PPT
D
E
13
对有向图来说,
A
B
CF 例如:
OD(B) = 1 ID(B) = 2 TD(B) = 3
E 顶点的出度: 以顶点v 为弧尾的弧的数目;
顶点的入度: 以顶点v 为弧头的弧的数目。
顶点的度(TD)=
出度(OD)+入度(ID)
高校教育精品PPT
含有 e=n(n-1) 条弧的有向图称作 有 向完全图;
若边或弧的个数 e<nlogn,则称作
稀疏图,否则称作稠密图。
高校教育精品PPT
12
假若顶点v 和顶点w 之间存在一条边, 则称顶点v 和w 互为邻接点, 边(v,w) 和顶点v 和w 相关联。
和顶点v 关联的边的数目定义为顶点v的度。
例如:
定算法,在本章中主要是介绍它们在计算机中的具体实
现。这些算法乍一看都比较难,应多对照具体图例的存
储结构进行学习。而图遍历的两种搜索路径和树遍历的
两种搜索路径极为相似,应将两者的算法对照学习以便
提高学习的效果。本章必须完成的算法设计题为 :
7.7,7.9,7.10,7.12,7.14,7.1高5校,教7育.2精2品PPT
相关文档
最新文档