数据结构第6章图PPT课件

合集下载

北京林业大学《数据结构与算法》课件PPT 第6章 图

北京林业大学《数据结构与算法》课件PPT 第6章 图
顶点的入度均为1,此时是何形状? 答:是树!而且是一棵有向树!
北京林业大学信息学院
路径:接续的边构成的顶点序列。 路径长度:路径上边或弧的数目/权值之和。 回路(环):第一个顶点和最后一个顶点相同的路径。 简单路径:除路径起点和终点可以相同外,其余顶点均不相同
的路径。 简单回路(简单环):除路径起点和终点相同外,其余顶点均不
• 原来烤肉店老板是伊拉克移民,有个朋友住在加州 ,刚好这个朋友的同事,是电影《这个男人有点色 》的制作人的女儿在女生联谊会的结拜姐妹的男朋 友,而马龙·白兰度主演源自这部片子。北京林业大学信息学院
验证—数据
• 微软的研究人员过滤2006年某个单一月份 的MSN短信
• 利用二点四亿使用者的三百亿通讯息进行 比对,结果发现任何使用者只要通过平均 6.6人就可以和全数据库的一千八百亿组配 对产生关连。
相同的路径。
北京林业大学信息学院
连通图(强连通图)
在无(有)向图G=( V, {E} )中,若对任何两个顶点 v、u 都存在从v 到 u 的路径,则称G是连通图(强 连通图)。
连 通 图
V0
V1
V2
V3
V4
V0 V3
V1 V4
非 连

V2 V5 图
强 V0
V1


图 V2
V3
北京林业大学信息学院
V0
北京林业大学信息学院
验证—实例
• 烤肉店老板——加州朋友——朋友同事—— 制作人的女儿——制作人——马龙·白兰度
• 一家德国报纸接受了一项挑战,要帮法兰克福的一 位土耳其烤肉店老板,找到他和他最喜欢的影星马 龙·白兰度的关联。
• 经过几个月,报社的员工发现,这两个人只经过不 超过六个人的私交,就建立了人脉关系。

【课件】数据结构第6章图ppt

【课件】数据结构第6章图ppt

6.1 图的逻辑结构
V1 V3
V4 V1
V3
V2 若顶点vi和vj之间的边没有方向,则 称这条边为无向边,表示为(vi,vj)。 如果图的任意两个顶点之间的边都
V5 是无向边,则称该图为无向图。
V2 若从顶点vi到vj的边有方向,则称这 条边为有向边,表示为<vi,vj>。 如果图的任意两个顶点之间的边都
第6章 图
本章的主要内容是:
图的逻辑结构 图的存储结构及实现 图的连通性 最小生成树 最短路径 AOV网与拓扑排序 AOE网与关键路径
2019/10/26
第6章 图
图是一种非常复杂的非线性结构,并且具有极强的表达能力, 现实世界中的许多问题都可以抽象为图结构。本章是本课程 的难点和重点。通过本章的学习,要求学生:
i =1
V1
V2
V3
V4
V5
在具有n个顶点、e条边的无向图G中,各顶点 的度之和与边数之和的关系?
6.1 图的逻辑结构
图的基本术语
V1
V2
n
n
ID(vi ) = OD(vi ) = e
i=1
i=1
V3
V4
在具有n个顶点、e条边的有向图G中,各顶点 的入度之和与各顶点的出度之和的关系?与边 数之和的关系?
A
B
C
D
E
F
线性结构
A
V1
V2
B
C
V3
D
EF
V4
V5
树结构
图结构
在线性结构中,元素之间的关系为前驱和后继; 在树结构中,结点之间的关系为双亲和孩子; 在图结构中,顶点之间的关系为邻接。
6.1 图的逻辑结构

云大《数据结构》课程教学课件-第6章 树和二叉树(147P)_OK

云大《数据结构》课程教学课件-第6章 树和二叉树(147P)_OK

^d ^ ^ e ^ 三叉链表
3)二叉链表是二叉树最常用的存储结构。还有其它链接方 法,采用何种方法,主要取决于所要实施的各种运算频度。
例:若经常要在二叉树中寻找某结点的双亲时,可在每个结 点上再加一个指向其双亲的指针域parent,称为三叉链表。
lchild data parent rchild
2021/8/16
2021/8/16
9
6.2 二 叉 树
6.2.1 二叉树的概念
一、二叉树的定义: 二叉树(Binary Tree)是n(n>=0)个结点的有限集,它或者是 空集(n=0)或者由一个根结点和两棵互不相交的,分别称 为根的左子树和右子树的二叉树组成。 可以看出,二叉树的定义和树的定义一样,均为递归定 义。
A
集合3
集合1
BCD
EF
G
集合2
2021/8/16
3
2、树的表示方法 1)树形图法
A
BCD
EF
G
2)嵌套集合法
3)广义表形式 ( A(B, C(E,F), D(G) )
4)凹入表示法
2021/8/16
A B
D
CG
EF
A B C E DF G
4
3、 树结构的基本术语
1)结点的度(Degree):为该结点的子树的个数。 2)树的度:为该树中结点的最大度数。
7)路径(Path):若树中存在一个结点序列k1,k2,…,kj,使得ki是 ki+1的双亲(1<=i<j),则称该结点序列是从ki到kj一条路径 (Path)
路径长度:路径的长度为j-1,其为该路径所经过的边的数 目。
A
BCD
EF
G

数据结构第6章树和二叉树3树和森林ppt课件

数据结构第6章树和二叉树3树和森林ppt课件

§6.4 树和森林 ❖树的存储结构——孩子兄弟表示法
这种存储结构便于实现各种树的操作。首先易于 实现找结点孩子等的操作。如果为每个结点增设一个 (parent)域,则同样能方便地实现Parent(T, x)操作。
§6.4 树和森林
❖森林和二叉树的转换
1. 树和二叉树的对应关系 由于二叉树和树都可用二叉链表作为存储结构,
R AB C
DE
F
GHK
R^
A
^D
^B
^E ^
C^
F^
^G
^H
^K ^
§6.4 树和森林
❖树的二叉链表(孩子 - 兄弟)存储表示
typedef struct CSNode { Elem data; struct CSNode *firstchild , *nextsibling;
} CSNode, *CSTree;
A BC D E F GH
A BC D
E F GH A
BC D
1)在兄弟之间加一条连线; 2)对每个结点,除了左孩子外,去除其与其余孩子之间的联系; 3)以根结点为轴心,将整个树顺时针转45°。
Ia
A B
Ib
E F
d
C D
G H I
c E F G H I
§6.4 树和森林
❖森林和二叉树的转换
2. 森林和二叉树的对应关系 从树的二叉链表表示的定义可知,任何一棵
§6.4 树和森林
3
6^
5^
0
1
7
8
2^ 9^
R AB C
DE
F
GHK
§6.4 树和森林 ❖树的存储结构——孩子兄弟表示法
或称二叉树表示法,或称二叉链表表示法。即以 二叉链表作树的存储结构。链表中结点的两个链域分 别指向该结点的第一个孩子结点和下一个兄弟结点。

《数据结构与算法项目化教程》课件第6章

《数据结构与算法项目化教程》课件第6章

为G=(V, E),V是顶点A的有限集合,E是边的有限集合,即
V={A|A∈某个数据集合}, E={(A, B)|A, B∈V}

E={<A, B> |A, B∈V 且 path(A, B)}
其中,path(A, B)表示从顶点A到B的一条通路。
学习情境6 图
2.图的类型 (1) 无向图。 无向图(undirected graph)中的边没有方向,每条边用两个 顶点的无序对表示,如(A, B)表示连接顶点A和B之间的一条 边,(A, B)和(B, A)表示同一条边。图6-1是一个无向图,用G 表示无向图,其顶点集合V为
V(G)={A,B,C,D,E} E(G)={<A,B>,<A,D>,<A,E>,<B,C>,<C,B>,<C,D>,<D,B> ,<D,E>,<E,A>}
学习情境6 图
图6-2 有向图
学习情境6 图
(3) 自身环的图和多重图。 如图6-3所示,顶点C有一个路径指向自身,这种图称为 带自身环的图;顶点B有两条路径到顶点A,这种图属于多重 图。这些一般不属于数据结构讨论的范畴,本学习情境只讨 论无向图和有向图。 (4) 完全图。 完全图(complete graph)的任一顶点均有路径到其他顶点。 完全图的边数是最大的。无向完全图的边数有n × (n-1)/2,有 向完全图的边数为n × (n-1)。
学习情境6 图
图6-13 邻接表元素
学习情境6 图
图6-14 带权无向图的邻接表表示
学习情境6 图
3.有向图的邻接表表示 以邻接表表示有向图,需要根据边的方向而得到边表, 边表有两种:出边表和入边表。 出边表:第i行单链表存储以顶点vi为起点的所有边<vi, vj>,dest域是该条边的终点vj在顶点表中的下标。 入边表:第i行单链表存储以顶点vi为终点的所有边<vj, vi>,dest域是该条边的起点vj在顶点表中的下标。 有向图的邻接表表示有两种,分别是由出边表构成的邻 接表和由入边表构成的逆邻接表。带权有向图邻接表的出边 表表示如图6-15所示。在有向图的邻接表或逆邻接表中,每 条边只存储一次。

数据结构课件CH6

数据结构课件CH6
树是一类重要的非线性数据结构,是以分支关系 定义的层次结构。
§6.1 树的定义
定义:
树(tree)是n(n>0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root) 当n>1时,其余结点可分为m(m>0)个互不相交的有 限集T1,T2,……Tm,其中每一个集合本身又是一棵树, 称为根的子树(subtree)
• 每个结点至多有二棵子树(即不存在度大于2的结点) • 二叉树的子树有左、右之分,且其次序不能任意颠倒
★ 基本形态

A
A
A
A
只有根结 空二叉树 点的二叉树
B 右子树为空
B
B
C
左子树为空
左、右子 树均非空
二叉树的基本运算
① 构造一棵二叉树 CreateBTree ( BT) ② 清空以BT为根的二叉树 ClearBTree(BT) ③ 判断二叉树是否为空 BTreeEmpty(BT) ④ 获取给定结点的左孩子和右孩子
遍历的过程就是把非线性结构的二叉树中的结点排 成一个线性序列的过程。
二叉树遍历方法可分为两大类,一类是“宽度优先 ”法,即从根结点开始,由上到下,从左往右一层一层 的遍历;另一类是“深度优先法”,即一棵子树一棵子 树的遍历。
按根、左子树和右子树三部分进行遍历
• 方法
★ 先序遍历:先访问根结点,然后分别先序遍历左子树、 右子树
★ 特点:
» 叶子结点只可能在层次最大的两层上出现; » 对任一结点,若其右分支下子孙的最大层次为L,则
其左分支下子孙的最大层次必为L或L+1。
1
2
3
4
5
6
7
8 9 10 11 12 13 14 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图的应用的主要算法,主要包括:最小生成树、最短路 径、拓扑排序、关键路径等图的常用算法
2020/9/29
3
6.1 图的基本概念
一个图G = (V,E)由顶点(vertex)集V(G)和边 (edge)集E(G)组成。E中的每一条边连接V中两个不同的顶 点。
如果图中每一条边上两个顶点都是有序的,那么图就叫做 是有向的(directed graphy),简称为有向图(digraph)。可以 用带尖括号的有序点对<ν,ω>来表示有向图的一条边,其中ν, ω∈V(G)。有向图中的边都是有方向的,称之为有向边。对于 有向边来说,<ν,ω>和<ω,ν>表示的是两条方向相反的边。有 向图中的边也可称之为弧(arc),ν可称之为弧尾(tail)或初始 点(initial node),ω可称之为弧头(head)或终端点(terrninal node)。
2020/9/29
4
如果图中每一条边上两个顶点都是无序的,那么图就叫做是 无向的(undirected graphy),简称为无向图(undigraph)。可 以用带圆括号的点对(ν,ω)来表示无向图的一条边,其中ν, ω∈V(G)。无向图中的边都是没有方向的,称之为无向边。对 于无向边来说,(ν,ω)和(ω,ν)表示的是同一条边。
2020/9/29

10
2020/9/29
11
子图
设有两个图 G=(V, E) 和 G‘=(V’, E‘)。若 V’ V 且 E‘E, 则称 图G’ 是 图G 的子图。
2020/9/29
12
5.连通性
在图中,若从vi到vj(i≠j)有路径,则称vi到vj是连通的。 在无向图中,如果从每一个顶点到每个其它顶点都是连通的,则称 该无向图是连通图。在无向图中,极大的连通子图称为它的连通分 量。图6-2中G4不是连通的,但有两个连通分量。
类似的,在具有n个顶点的有向图中,如有n(n-1)条弧,即 任意两个顶点之间都有方向相反的两条弧连接,则称这样的图 为有向完全图。
2020/9/29
9
路径和回路
在图G 中,如果存在一个顶点序列(ω1,ω2,ω3,…,ωN), 使得(ωi,ωi+1)∈E(G),1 ≤ i < N,则称这个顶点序列为顶点ω1 到顶点ωN的一条路径(path)。
2020/9/29
5
V(G1)={ν1,ν2,ν3,ν4} E(G1)={<ν1,ν2>,<ν2,ν1>,<ν3,ν1>,<ν3,ν4>,<ν2,ν4>} V(G2)={1,2,3,4} E(G2)={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)} V(G3)={A,B,C,D,E} E(G3)={(A,B),(A,C),(B,D),(C,E)}
2020/9/29
6
1.邻接点
如果图G = (V,E)为无向图,若存在一条边(v,v’)∈E (G),则称点v和v’互为邻接点,即v和v’相邻接,边(v,v’) 依附于顶点v和v’,或者说(v,v’)和顶点v和v’相关联。
如果图G = (V,E)为有向图,若存在一条弧 <v,v’> ∈E (G),则称顶点v邻接到顶点v’,顶点v’邻接自顶点v,弧 <v, v’>和顶点v和v’相关联。
第6
2020/9/29
1
本章学习导读
图(Graph)是一种较线性表和树更为复杂的非线性结构。 是对结点的前趋和后继个数不加限制的数据结构,用来描 述元素之间“多对多”的关系。
在线性结构中,结点之间的关系是线性关系,除开始结点
和终端结点外,每个结点只有一个直接前趋和直接后继;
在树形结构中,结点之间的关系实质上是层次关系,同层
可以代表一个顶点到另一个顶点的距离,耗费等。
网 这种带权连通图图一般称为网。如图7-4所示。
1
1
2
45 625 8 3
3
4
7
(a) 无向网
2
A
B
4 13 5
C
(b)有向网
图 7-4 无向带权图和有向带权图
2020/9/29
15
图的基本运算 图的基本运算也包括查找、插入和删除。
上的每个结点可以和下一层的零个或多个结点(即孩子)
相关,但只能和上一层的一个结点(即双亲)相关(根结
点除外);在图结构中,对结点(图中常称为顶点)的前
趋和后继个数不加限制的,即结点之间的关系是任意的。
2020/9/29
2
重点: (1)了解图的定义和术语 (2)掌握图的各种存储结构 (3)掌握图的深度优先搜索和广度优先搜索遍历算法 (4)理解最小生成树、最短路径、拓扑排序、关键路径等图的 常用算法 难点:
V
V’
V、V‘互为邻接点
V
V‘
V‘是V的邻接点
2020/9/29
7
顶点的度
在无向图中,顶点v的度指与顶点v相关联的边的数目;在 有向图中,顶点v的出度指以顶点v为弧尾的弧的数目,顶点v的 入度指以顶点v为弧头的弧的数目,顶点v的出度与入度之和称 为顶点v的度。
2020/9/29
8
若一个无向图有n个顶点,每个顶点与其他n-1个顶点都有 边相连,这样的图称为无向完全图,共有n(n-1)/2条边;
2020/9/29
13
在有向图中,若对于图中的每一对不同的顶点vi、vj,都存在 从vi到vj及vj到vi的路径,则称该有向图是强连通图。有向图中极 大的强连通子图称为它的强连通分量。图6-1中的G1不是强连通图, 但它有三个强连通分量,如图6-3所示。
2020/9/29
14

权 某些图的边或弧具有与它相关的数, 称之为权。权
这样一条路径的长(length)是路径上的边数,它等于N-1。 对于有向图,其路径也是有向的,路径由弧组成。如果一条路径上 所有顶点除起始点和终止点外彼此是不同的,则称该路径是简单路径。 在一条路径中,如果其起始点和终止点是同一顶点,则称其为回路 或环(circle)。简单路径相应的回路称为简单回路。 对于无向图的回路,要求组成回路的边是互异的。无向图中的路径 u,v,u不应被认为是回路,因为(u,v)和(v,u)是同一条边。但 是在有向图中<u,v>,<v,u>是两条不同的边,因此有向图中的路径u, v,u是一条回路。 如果一个有向图没有回路,则称其为无环的(acyclic),一个有向 无环图有时也简称为DAG(Direct Acyclic Graphy)。
相关文档
最新文档