有向图及无向图的比较研究

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

V0
V1
有序对<vi,vj> : 用以为vi起点、以vj为终点 的有向线段表示,称为有向 边或弧;
精品课件
V2
V3
G2 图示
有向图和无向图
在图中,若用箭头标明了边是有方向性的,则称这样 的图为有向图,否则称为无向图。
在无向图中,一条边(x,y)与(y,x)表示的结果相 同,用圆括号表示 ,在有向图中,一条边<x,y>与 <y,x>表示的结果不相同,故用尖括号表示。<x,y>表 示从顶点x发向顶点y的边,x为始点,y为终点。
V2
V3
异同点
① 完全有向图有n(n-1)条边。
1
4
证明:若是完全有向图,则n个顶点中
的每个顶点都有一条弧指向其它n-1个 2
3
顶点, 因此总边数=n(n-1)
② 完全无向图有n(n-1)/2 条边。
1
证明:从①可以直接推论出无向完全图的 边数——因为无方向,两弧合并为一边,
2
3
所以边数减半,总边数为n(n-1)/2。
无对应的结点 4)在G中增减边:要在两个单链表插入、删除结点; 5)设存储顶点的一维数组大小为m(m图的顶点数n), 图
的边数为e,G占用存储空间为:m+2*e。G占用存储空间与 G 的顶点数、边数均有关;
精品课件
3. 从有向图的邻接表可以得到如下结论
(1)第i 个链表中结点数目为顶点i的出度; (2)所有链表中结点数目为图中弧数; (3)占用的存储单元数目为n+e 。

0 V0 1 V1 2 V2 3 V3
类似于有向图的邻接表,
3
所不同的是:
0
以同一顶点为终点弧:
0
用线性链表存储
2
V0
V1
m-1
V2
V3
精品课件
2. 从无向图的邻接表可以得到如下结论
1)在G邻接表中,同一条边对应两个结点,所有链表中结 点数目的一半为图中边数;
2)顶点v的度:等于v对应线性链表的长度; 3)判定两顶点v ,u是否邻接:要看v对应线性链表中有
精品课件
lin k
1 无向图的邻接表 顶点:通常按编号顺序将顶点数据存
储在一维数组中; 关联同一顶点的边:用线性链表存储
该结点表示边 (Vi Vj),其中的1是Vj
在一维数组中的位置
下标 编号 link

V0
V1
V2
0 V0 1 V1 2 V2
3 V3
1
3
0
2
4
1
3
4
0
2
V3
V4 4 V4
1
2
m-1 精品课件
=
10 00 01 00 v014
分析1:无向图的邻接矩阵是对称的; 00 01 01 01 v005
分析2:顶点Vi 的度=第 i 行 (列) 中1 的个数;
特别:完全图的邻接矩阵中,对角元素为0,其余全1。
精品课件
有向图的邻接矩阵如何表示?
v1
A
v3
v2
顶点表:
邻接矩阵:
A.Edge
v4
=
注:在有向图的邻接矩阵中,
顶点vi的入度=第i列元素之和。
ID(vi )= A.Edge[ j ][i ]
( v1 v2 v3 v4 )
0 01 01 v01 0 0 0 0v2 0 0 0 01v3 01 0 0 v04
第i行含义:以结点vi为尾的弧(即vi出度边); 第i列含义:以结点vi为头的弧(即vi入度边)。
分析1:有向图的邻接矩阵可能是不对称的。
分析2:顶点vi的出度=第i行元素之和,
OD(vi )= A.Edge[ i ][j ]
V0
V1
V2
V3
V4
V0
V1
V2
V3
精品课件
有向图: 无向图: 完全图:
图G中的每条边都是有方向的; 图G中的每条边都是无方向的; 图G任意两个顶点都有一条边相连 接;
若 n 个顶点的无向图有 n(n-1)/2 条边,
称为无向完全图
若 n 个顶点的有向图有n(n-1) 条边, 称
为有向完全图
精品课件
2 有向图的邻接表和逆邻接表 1)有向图的邻接表 顶点:用一维数组存储(按编号顺序) 以同一顶点为起点的弧:用线性链表存储

下标 编号 link
0 V0 1 V1 2 V2 3 V3
1
2
3 0
类似于无向图的邻接表, 所不同的是:
以同一顶点为起点的弧: 用线性链表存储
V0
V1
m-1
精品课件
V2
V3
2)有向图的逆邻接表 顶点:用一维数组存储(按编号顺序) 以同一顶点为终点的弧:用线性链表存储
4
精品课件
图的邻接表表示
图的邻接表存储方法是一种顺序分配与链式分配相结合 的存储方法,它包括两部分:边表和顶点表。 ➢边表是单链表,用来存放边的信息; ➢顶点表是数组,主要用来存放顶点本身的数据信息和 该顶点邻接点的位置。
边结点
adjvex weight next
顶点结点
v ertex n ex t
有向图及无向图的比较研究
知识结构
• 图的定义 • 无向图与有向图 • 无向图与有向图异同点
精品课件

图(Graph)是一种较线性表和树更为复杂的 非线性结构。是对结点的前趋和后继个数不 加限制的数据结构,用来描述元素之间“多 对多”的关系。
精品课件
一 图的定义
图G由两个集合构成,记作G=(V,E) 其中V是顶点的非空有限集 合,E是边的有限集合,其中边是顶点的无序对或有序对集合。

G1=(V1,E1) V1={v0 ,v1,v2,v3,v4} E1={(v0,v1),(v0,v3),(v1,v2),(v1,v4),(v2,v3)(v2,v4)}
无序对(vi,vj): 用连接顶点vi、vj的线段
表示,称为无向边;
精品课件
V0
V1
V2
V3
V4
G1 图示
G2=<V2,E2>
V2={v0 v1,v2,v3} E2={<v0,v1 > , <v0,v2 >, <v2,v3 >,<v3,v0 >}
图的应用举例:
例1 交通图(公路、铁路)
顶点:地点
边:连接地点的公路
交通图中的有单行道双行道,分别用有向边、无向
边表示;
例2 电路图 顶点:元件
V0
V1
边:连接元件之间的线路
V2
例3 通讯线路图 顶点:地点
V3
V4
边:地点间的连线 例4 各种流程图
V0
V1
如产品的生产流程图
顶点:工序 边:各道工序之间精的品课顺件 序关系
从有向图的邻接表可知,不能求出顶点的入度。为此, 我们必须另外建立有向图的逆邻接表,以便求出每一 个顶点的入度。
适用于边稀疏的图
精品课件
无向图的邻接矩阵如何表示?
v1
v2
顶点表:( v1 v2 v3 v4 v5 )
A
v3
邻接矩阵:
Βιβλιοθήκη Baidu
v4
00 01 00 10 v001
v5
A.Edge
10 00 10 00 v012 00 10 00 01 v013
相关文档
最新文档