-
数据的逻辑结构:
- 集合:数据元素间除“同属于一个集合外”,无其它关系。
- 线性结构:一对一,如线性表,栈,队列。
- 树形结构:一对多,如树。
- 图形结构:多对多,如图。
- 集合:数据元素间除“同属于一个集合外”,无其它关系。
-
图: G=(V,E)。其中V代表顶点(数据元素)的有穷非空集合;E代表边的有穷集合。
- 无向图:每条边都是无方向的。
- 有向图:每条边都是有方向的。
- 无向图:每条边都是无方向的。
-
完全图: 任意两个点都有一条边相连。
n个顶点,无向完全图有 C n 2 = n ( n − 1 ) 2 C_n^2 = \frac{{n(n - 1)}}{2} Cn2=2n(n−1)条边,有向完全图有 2 C n 2 = 2 n ( n − 1 ) 2 = n ( n − 1 ) 2C_n^2 = 2\frac{{n(n - 1)}}{2} = n(n - 1) 2Cn2=22n(n−1)=n(n−1)条边。 -
稀疏图:有很少边或弧的图( e < n log n e < n\log n e<nlogn)。
-
稠密图:有较多边或弧的图。
-
网:边或弧带权的图。
-
邻接:有边/弧相连的两个顶点之间的关系。
存在 ( v i , v j ) ({v_i},{v_j}) (vi,vj),则称 v i v_i vi和 v j v_j vj互为邻接点。
存在 < v i , v j > < {v_i},{v_j} > <vi,vj>,则称 v i v_i vi邻接到 v j v_j vj, v j v_j vj邻接于 v i v_i vi。 -
关联(依附):边/弧与顶点之间的关系。
存在 ( v i , v j ) / < v i , v j > ({v_i},{v_j})/< {v_i},{v_j} > (vi,vj)/<vi,vj>,则称改边/弧关联于 v i v_i vi和 v j v_j vj。 -
顶点的度:与该顶点相关联的边的数目,记为TD(v)。在有向图中,顶点的度等于该顶点的入度与出度之和。
- 顶点v的入度:以v为终点的有向边的条数,记作ID(v)。
- 顶点v的出度:以v为始点的有向边的条数,记作OD(v)。
-
当有向图中仅有1个点的入度为0,其余顶点的入度均为1,则这是一棵有向树。
-
路径:接续的边构成的顶点序列。
-
路径长度:路径上边或弧的数目/权值之和。
-
回路(环):第一个顶点和最后一个顶点相同的一条路径。
-
简单路径:除路径起点和终点可以相同外,其余顶点军部相同的路径。
-
连通图(强连通图):在无(有)向图G=(v,{E})中,若对任何两个顶点v、u都存在从v到u的路径,则称G是连通图(强连通图)。
-
权与网:图中边或弧所具有的相关数称为权。表明从一个顶点到另一个顶点的距离或耗费。带权的图称为网。
-
子图:设有两个图G=(V,{E})、G1=(V1,{E1}),若 V 1 ⊆ V , E 1 ⊆ E V1 \subseteq V,E1 \subseteq E V1⊆V,E1⊆E,则称G1是G的子图。
-
连通分量(强连通分量)
- 无向图G的极大连通子图称为G的连通分量。
极大连通子图:该子图是G的连通子图,将G中的任何不在该子图中的顶点加入,子图不再连通。 - 有向图G的极大强连通子图称为G的强连通分量。
极大强连通子图:该子图是G的强连通子图,将G中的任何不在该子图中的顶点加入,子图不再强连通。
- 无向图G的极大连通子图称为G的连通分量。
-
极小连通分量:该子图是G的连通子图,在该子图中删除任何一条边,该子图不再连通。
-
生成树:包含无向图G的所有顶点的极小连通子图。
-
生成森林:对非连通图,由各个连通分量的生成树的集合。
-
图的抽象类型定义:
ADT Graph
{
数据对象V: 具有相同特性的数据元素的集合,称为顶点集。
数据关系R: R = { V R } V R = { < v , w > ∣ < w , v > ∣ v , w ∈ V , p ( v , w ) , < v , w > 表 示 从 v 到 w 的 弧 , p ( v , w ) 定 义 了 弧 < v , w > 的 信 息 } R=\{VR\}\\VR=\{<v,w>|<w,v>|v,w\in V,p(v,w) ,<v,w>表示从v到w的弧,p(v,w)定义了弧<v,w>的信息\} R={VR}VR={<v,w>∣<w,v>∣v,w∈V,p(v,w),<v,w>表示从v到w的弧,p(v,w)定义了弧<v,w>的信息}
基本操作P: 有图的创建,求顶点v的值等操作。
}ADT Graph
数据结构之图(一)——图的相关概念和术语
最新推荐文章于 2023-01-28 11:50:53 发布