目录
- 1. 定义
- 2. 有向图
- 2.1 定义
- 2.2 举个例子
- 3. 无向图
- 4. 完全图
- 5. 出度
- 6. 入度
- 7. 度
- 8. 路径
- 9. 简单路径
- 10. 回路
1. 定义
- 1.图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,图G是由集合V和E构成的二元组,记作G=(VE)
- 2.V是图中顶点的非空有限集合E是图中边的有限集合
- 3.从数据结构的逻辑关系角度来看,图中任一顶点都有可能与其他顶点有关系,而图中所有顶点都有可能与某一顶点有关系
- 4.在图中,数据元素用顶点表示,数据元素之间的关系用边表示
- 5.边集可以是空的,即图中可以没有边
2. 有向图
2.1 定义
- 1.若图中每条边都是有方向的,那么顶点之间的关系用<vi,vj>表示,它说明从vi到vj有一条有向边(也称为弧)
- 2.vi是有向边的起点,称为弧尾
- 3.vj是有向边的终点,称为弧头
- 4.所有边都有方向的图称为有向图
- 5.有向图中<vi,vj>与<vj,vj>分别表示两条边
2.2 举个例子
- 1.一个简单的城市交通网络,包含四个交叉路口A、B、C和D。在这个网络中,有以下单向道路:A->B,B->C, C->D, D->A,从而形成一条环路。
- 2.这个交通网络可以用一个有向图来表示。在这个有向图中:顶点集合V = {A, B, C, D},代表四个交叉路口;边集合E = {<A, B>, <B, C>, <C, D>, <D, A>},代表单向道路及其方向。
3. 无向图
- 1.若图中的每条边都是无方向的,顶点vi和vj之间的边用(vi,vj)表示
- 2.在无向图中(vi,vj)与(vj,vi)表示的是同一条边
4. 完全图
- 1.若一个无向图具有n个顶点,而每一个顶点与其他n-1个顶点之间都有边,称之为无向完全图
- 2.含有n个顶点的无向完全图共有n(n-1)/2条边
- 3.有n个顶点的有向完全图中弧的数目为n(n-1),即任意两个不同顶点之间都有方向相反的两条弧存在
5. 出度
- 1.顶点的出度指以该顶点为起点的有向边的数目,分别记为OD(v)
6. 入度
- 2.顶点的入度指以该顶点为终点的有向边的数目,分别记为ID(v)
7. 度
- 1.顶点v的度是指关联于该顶点的边的数目,记作D(v)
- 2.若G为有向图,顶点的度表示该顶点的入度和出度之和
- 3.若G为无向图,顶点的度表示与该顶点相连的边的数量
8. 路径
- 1.在无向图中,路径指的是从一个顶点出发,沿着边依次访问其他顶点,并最终到达另一个顶点的过程。路径中的边和顶点形成了一个序列,序列中的顶点和边依次相连,且没有重复的顶点和边
- 2.在有向图中,路径是指从一个顶点出发,沿着有向边依次访问其他顶点,并最终到达另一个顶点的过程。有向图的边具有方向性,因此路径中的边必须按照其方向进行遍历。
- 3.路径长度是路径上边的数目。假设有一个有向图G,其中包含顶点A、B、C和D,以及有向边AB、BC和CD。从顶点A到顶点D的路径可以是A→B→C→D,这条路径的长度为3,因为它包含了3条边。
9. 简单路径
- 1.简单路径指的是路径中的顶点均不相同的路径,即没有重复的顶点。
- 2.简单路径能够清晰地描述顶点之间的直接关系,避免了由于顶点重复而导致的路径冗余
- 3.假设有一个无向图G,顶点集V(G) = {A, B, C, D, E},边集E(G) = {(A, B), (B, C), (C, D), (D, E), (E, A)}。在这个图中,一条从顶点A到顶点D的简单路径可以是A→B→C→D。这条路径中,每个顶点(A、B、C、D)都只出现一次,没有重复,因此它是一条简单路径。
- 4.假设有一个有向图H,顶点集V(H) = {X, Y, Z, W},边集E(H) = {(X, Y), (Y, Z), (Z, W), (W, X)}。在这个有向图中,一条从顶点X到顶点W的简单路径可以是X→Y→Z→W。这条路径中,每个顶点(X、Y、Z、W)都按照有向边的方向遍历,且只出现一次,没有重复,因此它也是一条简单路径。
10. 回路
- 1.第一个顶点和最后一个顶点相同的路径称为回路或环
- 2.它指的是从某个顶点出发,沿着有向边经过一系列顶点,最终回到起始顶点的路径
- 3.回路的起始顶点和结束顶点是相同的,形成了一个闭环
- 4.回路中的边必须按照其方向进行遍历,形成一条合法的有向路径