数据结构图基本知识点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路径长度定义为路径上的边数或者弧的数目。 若一条路径中不出现重复顶点,则称此路径为简单路径。 若一条路径的起点和终点相同(Vp=Vq)称为回路或环。 除了起点和终点相同外,其余顶点不相同的回路,称为简单
回路或简单环。
例如,在无向图G1中: 顶点序列(V1, V2, V3, V4)是一条从顶点V1到顶点 V4,长度为3的简单路径; 顶点序列(V1, V2, V4, V1, V3)是一条从顶点V1到 顶点V3,长度为4的路径,但不是简单路径; 顶点序列(V1, V2, V3, V1)是一条长度为3的简单 回路。
int vn, en;
/* vn顶点数和en边数 */
}MGraph;
/* 图类型 */
注:MGraph 既可以表示有向图、无向图,也可以表示有 整型权的网
4、建图运算
建图——就是完成图类型变量中各个成员值的创建过程。
例:建一个如图所示的无向图
执行时输入数据:
0
1
2
010 10 101 01 0101 1
在非强连通图G中,任何一个极大强连通子图称为G的强连 通分量。
任何强连通图的强连通分量只有一个,即其自身,而非强 连通图有多个强连通分量。
有向图G和强连通分量示例:
8.权、带权图、有向网和无向网
在一个图中,各边(或弧)上可以带一个数值,这个数值称为 权。
这种每条边都带权的图称为带权图或网 有向网:带权有向图 无向网:带权无向图
8.2 图的基本存储结构
图需存储的信息:
V0
V1
各顶点的数据
V2
V3
V4
各个边(弧)的信息,包括:
哪两个顶点有边(弧)
V0
V1
若有权要表示出来
顶点数、边(弧)数
V2
V3
8.2.1 邻接矩阵及其实现
顶点数据存储:
一维数组(顺序存储)
边(Βιβλιοθήκη Baidu)信息的存储:
邻接矩阵:图中n个顶点之间相邻关系的n阶方阵(即二 维数组a[n][n])
其中对偶可以表示成: ➢ (Vi, Vj)—无序的对偶称为边,即(Vi, Vj)=(Vj, Vi) ,其图称为 无向图 ➢ <Vi, Vj>—有序的对偶称为弧,即<Vi, Vj> ≠<Vj, Vi>,则称Vi 为弧尾,称Vj为弧头,该图称为有向图
有向图和无向图示例:
无向图G1的二元组表示: V(G1)={V1, V2, V3, V4} E(G1)={(V1, V2),(V1, V3),(V1, V4),(V2, V3),(V2, V4),(V3, V4)} 有向图G3的二元组表示: V(G3)={V1, V2, V3} E(G3)={<V1, V2>,<V1, V3>,<V2, V3>,<V3, V2>}
g->arc[i][j]=1; /*有边赋值为1*/ g->arc[j][i]=1; /*建有向图时此句不要*/ } }
8.2.2 邻接表及其实现
是顺序与链接相结合的图的存储方式 所有顶点组成一个数组,为每个顶点建立一个单链表 有两部分组成:
表头——顶点数组(存放顶点信息) 表体——单链表(存放与顶点相关的边或弧的信息)
任何连通图的连通分量只有一个,即其自身,而非连通图有 多个连通分量。
在一个连通图中,含有全部顶点的极小(边数最少)连通子图, 称为该连通图的生成树。(包含图的所有 n 个结点,但只含 图的 n-1 条边。在生成树中添加一条边之后,必定会形成回 路或环)
图G1和G2为连通图
非连通图 G4
A
B
E FG
1、举例
无向图
V1
V3
V4
V2
0 V1
1 V2
邻接表表示 2 V3
3 V4
V5
4 V5
与顶点V1相邻接的顶点 在数组中的下标
1
3∧
0
2
4∧
1
3
4∧
0
2∧
1
2∧
顶点的度:该顶点所在单链表中表结点个数
无向网
V1
4
V4
2
V2
0 V1
1
1 V2
V3
5 邻接表表示 2 V3
31
3 V4
V5
4 V5
12 02 11 04 15
} ALGraph;
4、建图运算
建图——就是完成图类型变量中各个成员值的创建过程。
例:建一个如图所示的有向图
adjvex
无向网 V1 4
V1 V2 V3 V4 V5
2
V2
1
V1 0 2 ∞ 4 ∞ V2 2 0 1 ∞ 5
V3
31
5 邻接矩阵表示 V3 V4
∞10 3 1 4∞3 0∞
V4
V5
V5 ∞ 5 1 ∞ 0
1、举例
有向图
V1
V3
V2
邻接矩阵表示
V4
V1 V2 V3 V4 V1 0 1 1 0 V2 0 0 0 0 V3 0 0 0 1 V4 1 0 0 0
在有向图中,顶点v的度又分为入度和出度两种:
以顶点v为终点(弧头)的弧的数目称为顶点v的入度,记 为ID(v);
以顶点v为起点(弧尾)的弧的数目称为顶点v的出度,记 为OD(v);
有向图顶点v的度为该顶点的入度和出度之和,即 D(v)=ID(v)+OD(v)
无论是有向图还是无向图,一个图的顶点数n、边
非连通图G4的三个连通分量
A
B
E
F
G
IJ
K
C
D
C
IJ
K D
连通图G5
A
B
连通图G5的两棵生成树
A
B
A
B
C
D
C
D
C
D
7.强连通、强连通分量和强连通图
在有向图G中:
存在从顶点Vi 到顶点Vj的路径,也存在从顶点Vj 到顶点Vi 的路径,则称Vi与Vj是强连通的。
如果图中任意两个顶点都是强连通,则称G为强连通图, 否则称为非强连通图。
链表头指针(指向第一个表结点)
typedef struct vexnode{
vextype vertex; ArcNode *firstarc;
顶点结点类型
} VexNode;
(3)图的邻接表类型
typedef struct { VexNode adjlist[MAX]; /*顶点结点所在数组*/ int vn, en;
1.邻接点
在无向图中,若存在一条边(Vi, Vj),则称Vi和Vj 互为邻接点(Adjacent)
在有向图中,若存在一条弧<Vi, Vj >,则称Vi为此 弧的起点,称Vj为此弧的终点,称Vi邻接到Vj,Vj 邻接自Vi,Vi和Vj互为邻接点。
2.顶点的度、入度和出度
在无向图中,与顶点v相邻接的边数称为该顶点的 度,记为D(v)。
对稀疏图而言尤其浪费空间。
3、邻接矩阵存储的图类型定义
# define MAX 100
/* MAX为图中顶点最多个数 */
typedef int vextype; /* vextype为顶点的数据类型 */
typedef struct{ vextype vex[MAX]; /* 一维数组存储顶点信息 */ int arc[MAX][MAX]; /*邻接矩阵存储边(弧)信息 */
一、现实中的图
图最常见的应用是在交通运输和通信网络中找出造价 最低的方案。通信网络示例如下图所示:
二、图的定义
图G是由一个顶点集V和一个边集E构成的数据结构。
记为二元组形式: G= (V, E) 其中:
➢ V是由顶点构成的非空有限集合,记为:V={V0, V1, V2, …Vn-1} ➢ E是由V中顶点的对偶构成的有限集合,记为:E={(V0, V2), (V3, V4), … },若E为空,则图中只有顶点而没有边。
数据结构图基本知识点
第8章 图
8.1 图的基本概念 8.2 图的基本存储结构
8.2.1 邻接距阵及其实现 8.2.2 邻接表及其实现 8.3 图的遍历 8.3.1 深度优先搜索遍历 8.3.2 广度优先搜索遍历 8.4 图的应用 8.4.1 连通图的最小生成树 8.4.2 拓扑排序
8.1 图的基本概念
2、邻接表法特点
邻接表的优点: 空间效率高;容易寻找顶点的邻接点;
邻接表的缺点:
判断任意两顶点间是否有边或弧,需搜 索两结点对应的单链表,没有邻接矩阵 方便。
3、邻接表存储的图类型定义 (1)表(边)结点——表示边(或弧)信息的链表中结点
表结点: adjvex next
adjvex w next
权值
34∧ 21 33 23∧ 21∧
45∧ 41∧
1、举例
有向图
V1
V3
以顶点V1为始点的弧的终点 顶点在数组中的下标
V2
邻接表表示
V4
0 V1 1 V2 ∧ 2 V3 3 V4
1
3∧ 0∧
2∧
顶点的出度 该顶点所在单链表中表结点个数
顶点的入度 查询整个邻接表中的表结点,与该顶点的序号(数 组下标)一致的表结点个数
特点: 不一定对称 行方向的非零元素(或1)的个数为此顶点的出度 列方向的非零元素(或1)的个数为此顶点的入度
2、邻接矩阵法特点
邻接矩阵法优点: 容易实现图的操作,如:求某顶点的度、判断顶点之间是否 有边(弧)、找顶点的邻接点等等。
邻接矩阵法缺点:
n个顶点需要n*n个单元存储边(弧);空间效率为O(n2)。
邻接矩阵中元素值情况(规定自身无边、无弧):
无向图
有向图
{ a [i][j]=
0 1
vi与vj无边 vi与vj有边
{ a [i][j]=
0 1
vi到vj无弧 vi到vj有弧
{ 网
a [i][j]=
∞或0 w
vi与vj无边(或vi到vj无弧) vi与vj有边(或vi到vj有弧)
W 表示边上的权值; 0 表示vi与vj是同一个顶点
在有向图G3中: 顶点序列(V2, V3, V2)是一个长度为2的有向简单 环。
6.连通、连通分量和连通图、生成树
在无向图G中:
如果从顶点Vi 到顶点Vj至少有一条路径,则称Vi与Vj是连通 的。
如果图中任意两个顶点都连通,则称G为连通图,否则称为 非连通图。
在非连通图G中,任何一个极大连通子图称为G的连通分量。
若G为有向图,任意两个顶点Vi, Vj之间都有弧<Vi,Vj> 、 <Vj,Vi> ,称G为有向完全图。如顶点数为n,有向完全图 的弧数:
e=Pn2 =n(n1)
例如,无向图G1就是4个顶点无向完全图。 若一个图接近完全图,则称其为稠密图;反之,若一个图含
有很少条边或弧(即e<<n2),则称其为稀疏图。
∞ 表示一个计算机允许的、大于所有边上权值的数。
1、举例
无向图
V1
V2
V1 V2 V3 V4 V5 V1 0 1 0 1 0 V2 1 0 1 0 1
V3
邻接矩阵表示 V3 0 1 0 1 1
V4
V5
特点:
V4 1 0 1 0 0 V5 0 1 1 0 0
对称
行或列方向的非零元素(或1)的个数为此顶点的度
邻接点序号 (下标)
下一个邻接 点地址
权值
typedef struct arcnode{ int adjvex; struct arcnode *next;
} ArcNode, *Arc;
表结点类型
3、邻接表存储的图类型定义 (2)顶点结点类型
顶 点 结 点 : vertex firstarc
顶点信息
scanf("%d", &g->vex[v]); /*顶点数据输入*/ for(i=0;i<g->vn;i++)
for(j=0;j<g->vn;j++) g->arc[i][j]=0; /*邻接矩阵的初始值都为0*/
for(e=0;e<g->en;e++) /*共有g->en条边*/ { scanf("%d %d", &i, &j); /*指明有边的两个顶点的序号*/
56 01234 01 03
3
4
1010 0
12
分析:
0110 0
14
23
各顶点信息:键盘输入
24
各边信息:邻接矩阵,顶点间有边值为1,
无边值为0
顶点数、边数:键盘输入
算法实现(无向图)
void CreateGraph(MGraph *g) { int i, j, v, e; scanf("%d %d", &g->vn, &g->en); /*输入顶点数和边数*/ for(v=0;v<g->vn;v++)
4.子图
若有图G=(V, E)和G′=(V′, E′)
且V′ 是V的子集,即V′V , E′是E的子集,即 E′ E
则称图G′为图G的子图。
5.路径、回路和路径长度
在无向图G中,若存在一个顶点序列(Vp , Vi1 , Vi2 , … , Vin , Vq), 使(Vp, Vi1),(Vi1, Vi2),…,(Vin, Vq)均为图G的边,则该称顶 点的序列为顶点Vp到顶点Vq的路径。若G是有向图,则路径 是有向的。
(弧)数e和每个顶点的度di之间满足以下的关系式:
e
1 2
n i 1
D(vi )
即在有向图或无向图中: 所有顶点度数之和 :边数 = 2 :1
3.完全图、稠密图和稀疏图
在图G中:
若G为无向图,任意两个顶点之间都有一条边,称G为无 向完全图。顶点数为n,无向完全图的边数:
e=Cn2 =n(n1)/2
回路或简单环。
例如,在无向图G1中: 顶点序列(V1, V2, V3, V4)是一条从顶点V1到顶点 V4,长度为3的简单路径; 顶点序列(V1, V2, V4, V1, V3)是一条从顶点V1到 顶点V3,长度为4的路径,但不是简单路径; 顶点序列(V1, V2, V3, V1)是一条长度为3的简单 回路。
int vn, en;
/* vn顶点数和en边数 */
}MGraph;
/* 图类型 */
注:MGraph 既可以表示有向图、无向图,也可以表示有 整型权的网
4、建图运算
建图——就是完成图类型变量中各个成员值的创建过程。
例:建一个如图所示的无向图
执行时输入数据:
0
1
2
010 10 101 01 0101 1
在非强连通图G中,任何一个极大强连通子图称为G的强连 通分量。
任何强连通图的强连通分量只有一个,即其自身,而非强 连通图有多个强连通分量。
有向图G和强连通分量示例:
8.权、带权图、有向网和无向网
在一个图中,各边(或弧)上可以带一个数值,这个数值称为 权。
这种每条边都带权的图称为带权图或网 有向网:带权有向图 无向网:带权无向图
8.2 图的基本存储结构
图需存储的信息:
V0
V1
各顶点的数据
V2
V3
V4
各个边(弧)的信息,包括:
哪两个顶点有边(弧)
V0
V1
若有权要表示出来
顶点数、边(弧)数
V2
V3
8.2.1 邻接矩阵及其实现
顶点数据存储:
一维数组(顺序存储)
边(Βιβλιοθήκη Baidu)信息的存储:
邻接矩阵:图中n个顶点之间相邻关系的n阶方阵(即二 维数组a[n][n])
其中对偶可以表示成: ➢ (Vi, Vj)—无序的对偶称为边,即(Vi, Vj)=(Vj, Vi) ,其图称为 无向图 ➢ <Vi, Vj>—有序的对偶称为弧,即<Vi, Vj> ≠<Vj, Vi>,则称Vi 为弧尾,称Vj为弧头,该图称为有向图
有向图和无向图示例:
无向图G1的二元组表示: V(G1)={V1, V2, V3, V4} E(G1)={(V1, V2),(V1, V3),(V1, V4),(V2, V3),(V2, V4),(V3, V4)} 有向图G3的二元组表示: V(G3)={V1, V2, V3} E(G3)={<V1, V2>,<V1, V3>,<V2, V3>,<V3, V2>}
g->arc[i][j]=1; /*有边赋值为1*/ g->arc[j][i]=1; /*建有向图时此句不要*/ } }
8.2.2 邻接表及其实现
是顺序与链接相结合的图的存储方式 所有顶点组成一个数组,为每个顶点建立一个单链表 有两部分组成:
表头——顶点数组(存放顶点信息) 表体——单链表(存放与顶点相关的边或弧的信息)
任何连通图的连通分量只有一个,即其自身,而非连通图有 多个连通分量。
在一个连通图中,含有全部顶点的极小(边数最少)连通子图, 称为该连通图的生成树。(包含图的所有 n 个结点,但只含 图的 n-1 条边。在生成树中添加一条边之后,必定会形成回 路或环)
图G1和G2为连通图
非连通图 G4
A
B
E FG
1、举例
无向图
V1
V3
V4
V2
0 V1
1 V2
邻接表表示 2 V3
3 V4
V5
4 V5
与顶点V1相邻接的顶点 在数组中的下标
1
3∧
0
2
4∧
1
3
4∧
0
2∧
1
2∧
顶点的度:该顶点所在单链表中表结点个数
无向网
V1
4
V4
2
V2
0 V1
1
1 V2
V3
5 邻接表表示 2 V3
31
3 V4
V5
4 V5
12 02 11 04 15
} ALGraph;
4、建图运算
建图——就是完成图类型变量中各个成员值的创建过程。
例:建一个如图所示的有向图
adjvex
无向网 V1 4
V1 V2 V3 V4 V5
2
V2
1
V1 0 2 ∞ 4 ∞ V2 2 0 1 ∞ 5
V3
31
5 邻接矩阵表示 V3 V4
∞10 3 1 4∞3 0∞
V4
V5
V5 ∞ 5 1 ∞ 0
1、举例
有向图
V1
V3
V2
邻接矩阵表示
V4
V1 V2 V3 V4 V1 0 1 1 0 V2 0 0 0 0 V3 0 0 0 1 V4 1 0 0 0
在有向图中,顶点v的度又分为入度和出度两种:
以顶点v为终点(弧头)的弧的数目称为顶点v的入度,记 为ID(v);
以顶点v为起点(弧尾)的弧的数目称为顶点v的出度,记 为OD(v);
有向图顶点v的度为该顶点的入度和出度之和,即 D(v)=ID(v)+OD(v)
无论是有向图还是无向图,一个图的顶点数n、边
非连通图G4的三个连通分量
A
B
E
F
G
IJ
K
C
D
C
IJ
K D
连通图G5
A
B
连通图G5的两棵生成树
A
B
A
B
C
D
C
D
C
D
7.强连通、强连通分量和强连通图
在有向图G中:
存在从顶点Vi 到顶点Vj的路径,也存在从顶点Vj 到顶点Vi 的路径,则称Vi与Vj是强连通的。
如果图中任意两个顶点都是强连通,则称G为强连通图, 否则称为非强连通图。
链表头指针(指向第一个表结点)
typedef struct vexnode{
vextype vertex; ArcNode *firstarc;
顶点结点类型
} VexNode;
(3)图的邻接表类型
typedef struct { VexNode adjlist[MAX]; /*顶点结点所在数组*/ int vn, en;
1.邻接点
在无向图中,若存在一条边(Vi, Vj),则称Vi和Vj 互为邻接点(Adjacent)
在有向图中,若存在一条弧<Vi, Vj >,则称Vi为此 弧的起点,称Vj为此弧的终点,称Vi邻接到Vj,Vj 邻接自Vi,Vi和Vj互为邻接点。
2.顶点的度、入度和出度
在无向图中,与顶点v相邻接的边数称为该顶点的 度,记为D(v)。
对稀疏图而言尤其浪费空间。
3、邻接矩阵存储的图类型定义
# define MAX 100
/* MAX为图中顶点最多个数 */
typedef int vextype; /* vextype为顶点的数据类型 */
typedef struct{ vextype vex[MAX]; /* 一维数组存储顶点信息 */ int arc[MAX][MAX]; /*邻接矩阵存储边(弧)信息 */
一、现实中的图
图最常见的应用是在交通运输和通信网络中找出造价 最低的方案。通信网络示例如下图所示:
二、图的定义
图G是由一个顶点集V和一个边集E构成的数据结构。
记为二元组形式: G= (V, E) 其中:
➢ V是由顶点构成的非空有限集合,记为:V={V0, V1, V2, …Vn-1} ➢ E是由V中顶点的对偶构成的有限集合,记为:E={(V0, V2), (V3, V4), … },若E为空,则图中只有顶点而没有边。
数据结构图基本知识点
第8章 图
8.1 图的基本概念 8.2 图的基本存储结构
8.2.1 邻接距阵及其实现 8.2.2 邻接表及其实现 8.3 图的遍历 8.3.1 深度优先搜索遍历 8.3.2 广度优先搜索遍历 8.4 图的应用 8.4.1 连通图的最小生成树 8.4.2 拓扑排序
8.1 图的基本概念
2、邻接表法特点
邻接表的优点: 空间效率高;容易寻找顶点的邻接点;
邻接表的缺点:
判断任意两顶点间是否有边或弧,需搜 索两结点对应的单链表,没有邻接矩阵 方便。
3、邻接表存储的图类型定义 (1)表(边)结点——表示边(或弧)信息的链表中结点
表结点: adjvex next
adjvex w next
权值
34∧ 21 33 23∧ 21∧
45∧ 41∧
1、举例
有向图
V1
V3
以顶点V1为始点的弧的终点 顶点在数组中的下标
V2
邻接表表示
V4
0 V1 1 V2 ∧ 2 V3 3 V4
1
3∧ 0∧
2∧
顶点的出度 该顶点所在单链表中表结点个数
顶点的入度 查询整个邻接表中的表结点,与该顶点的序号(数 组下标)一致的表结点个数
特点: 不一定对称 行方向的非零元素(或1)的个数为此顶点的出度 列方向的非零元素(或1)的个数为此顶点的入度
2、邻接矩阵法特点
邻接矩阵法优点: 容易实现图的操作,如:求某顶点的度、判断顶点之间是否 有边(弧)、找顶点的邻接点等等。
邻接矩阵法缺点:
n个顶点需要n*n个单元存储边(弧);空间效率为O(n2)。
邻接矩阵中元素值情况(规定自身无边、无弧):
无向图
有向图
{ a [i][j]=
0 1
vi与vj无边 vi与vj有边
{ a [i][j]=
0 1
vi到vj无弧 vi到vj有弧
{ 网
a [i][j]=
∞或0 w
vi与vj无边(或vi到vj无弧) vi与vj有边(或vi到vj有弧)
W 表示边上的权值; 0 表示vi与vj是同一个顶点
在有向图G3中: 顶点序列(V2, V3, V2)是一个长度为2的有向简单 环。
6.连通、连通分量和连通图、生成树
在无向图G中:
如果从顶点Vi 到顶点Vj至少有一条路径,则称Vi与Vj是连通 的。
如果图中任意两个顶点都连通,则称G为连通图,否则称为 非连通图。
在非连通图G中,任何一个极大连通子图称为G的连通分量。
若G为有向图,任意两个顶点Vi, Vj之间都有弧<Vi,Vj> 、 <Vj,Vi> ,称G为有向完全图。如顶点数为n,有向完全图 的弧数:
e=Pn2 =n(n1)
例如,无向图G1就是4个顶点无向完全图。 若一个图接近完全图,则称其为稠密图;反之,若一个图含
有很少条边或弧(即e<<n2),则称其为稀疏图。
∞ 表示一个计算机允许的、大于所有边上权值的数。
1、举例
无向图
V1
V2
V1 V2 V3 V4 V5 V1 0 1 0 1 0 V2 1 0 1 0 1
V3
邻接矩阵表示 V3 0 1 0 1 1
V4
V5
特点:
V4 1 0 1 0 0 V5 0 1 1 0 0
对称
行或列方向的非零元素(或1)的个数为此顶点的度
邻接点序号 (下标)
下一个邻接 点地址
权值
typedef struct arcnode{ int adjvex; struct arcnode *next;
} ArcNode, *Arc;
表结点类型
3、邻接表存储的图类型定义 (2)顶点结点类型
顶 点 结 点 : vertex firstarc
顶点信息
scanf("%d", &g->vex[v]); /*顶点数据输入*/ for(i=0;i<g->vn;i++)
for(j=0;j<g->vn;j++) g->arc[i][j]=0; /*邻接矩阵的初始值都为0*/
for(e=0;e<g->en;e++) /*共有g->en条边*/ { scanf("%d %d", &i, &j); /*指明有边的两个顶点的序号*/
56 01234 01 03
3
4
1010 0
12
分析:
0110 0
14
23
各顶点信息:键盘输入
24
各边信息:邻接矩阵,顶点间有边值为1,
无边值为0
顶点数、边数:键盘输入
算法实现(无向图)
void CreateGraph(MGraph *g) { int i, j, v, e; scanf("%d %d", &g->vn, &g->en); /*输入顶点数和边数*/ for(v=0;v<g->vn;v++)
4.子图
若有图G=(V, E)和G′=(V′, E′)
且V′ 是V的子集,即V′V , E′是E的子集,即 E′ E
则称图G′为图G的子图。
5.路径、回路和路径长度
在无向图G中,若存在一个顶点序列(Vp , Vi1 , Vi2 , … , Vin , Vq), 使(Vp, Vi1),(Vi1, Vi2),…,(Vin, Vq)均为图G的边,则该称顶 点的序列为顶点Vp到顶点Vq的路径。若G是有向图,则路径 是有向的。
(弧)数e和每个顶点的度di之间满足以下的关系式:
e
1 2
n i 1
D(vi )
即在有向图或无向图中: 所有顶点度数之和 :边数 = 2 :1
3.完全图、稠密图和稀疏图
在图G中:
若G为无向图,任意两个顶点之间都有一条边,称G为无 向完全图。顶点数为n,无向完全图的边数:
e=Cn2 =n(n1)/2