线性表中:数据元素是串起来的仅仅只有线性关系(一对一)
树形结构中:数据元素之间有明显的层次关系(一对多)
图:是一种较线性表和树更加复杂的结构(多对多)
图的定义:
图(Graph)是由顶点的有穷非空集合(意思是图不能没有顶点但可以没有边)和顶点之间边的集合组合成的,通常表示为
G ( V , E ) G(V,E) G(V,E)
其中:
V:顶点(数据元素的)的有穷集合;
E:边的有穷集合。
G r a p h = ( V e r t e x , E d g e ) Graph=(Vertex,Edge) Graph=(Vertex,Edge)
图的定义几个需要注意的点:
线性表中的数据元素叫做元素,树中的数据元素叫做结点,图中的数据元素叫做顶点(Vertex)。
线性表中可以没有元素,叫做空表。树中可以没有结点,叫做空树。但在图的结构中不允许没有顶点,图的定义中顶点集合V的有穷非空性。
线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻的两层的结点具有层次关系,而图中,任意两个顶点之间都有可能有关系,顶点之间的逻辑关系用边来表示,边集E可以是空的。
图中的无向边用无序偶对 ( V i , V j ) (V_i,V_j) (Vi,Vj)来表示。
无向图 G 1 G_1 G1 , G 1 = ( V 1 , { E 1 } ) G_1=(V_1,{E_1}) G1=(V1,{E1})
其中:
顶点集合 V 1 = { A , B , C , D } V_1={A,B,C,D} V1={A,B,C,D}
边集合 E 1 = { ( A , B ) , ( B , C ) , ( C , D ) , ( D , A ) } E_1={(A,B),(B,C),(C,D),(D,A)} E1={(A,B),(B,C),(C,D),(D,A)}
有向边也称为弧(Arc),用有序偶 < V i , V j > <V_i,V_j> <Vi,Vj>来表示, V i V_i Vi表示弧尾(也就是有向边箭头的尾部,出发的顶点), V j V_j Vj表示弧头(也就是有向边箭头的头部,终点的顶点)。
有向图 G 2 G_2 G2 , G 2 = ( V 2 , { E 2 } ) G_2=(V_2,{E_2}) G2=(V2,{E2})
其中:
顶点集合 V 2 = { A , B , C , D } V_2={A,B,C,D} V2={A,B,C,D}
边集合 E 2 = { < A , B > , < B , C > , < C , D > , < D , A > } E_2={<A,B>,<B,C>,<C,D>,<D,A>} E2={<A,B>,<B,C>,<C,D>,<D,A>}
有向边和无向边的表示方法是不同的。
以下讨论的都是简单图
n个顶点,有 n ( n − 1 ) / 2 n(n-1)/2 n(n−1)/2条边(计算方式:任意两个边之间都有一条边,所以是 C n 2 C_n^2 Cn2)
n个顶点,有 n ( n − 1 ) n(n-1) n(n−1)条边(计算方式:有向图边数乘2)
简单结论: 对于具有n个顶点和e条边数的图,无向图 0 ≤ e ≤ n ( n − 1 ) / 2 0leq e leq n(n-1)/2 0≤e≤n(n−1)/2,有向图 0 ≤ e ≤ n ( n − 1 ) 0leq e leq n(n-1) 0≤e≤n(n−1)。
稀疏图: 有很少的边或者弧(判断标准: e ≤ n log n eleq nlog n e≤nlogn)。
稠密图: 与稀疏图相反。
网(Network): 也就是带权的图
权(Weight): 与图的边或者弧相关的数
存在 ( 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。
树中根结点到任意结点的路径是唯一的,但图中顶点与顶点之间的路径却不是唯一的。
在无/有向图G中,若对任意两个顶点v,u都存在从v到u的路径,就称图G是连通图(强连通图)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iKSjd6IA-1684937477217)(/Data_structures_and_algorithms/notefile/picture/连通图.jpg)]
完全图一定是(强)连通图,强)连通图不一定是完全图。
图1是普通图不是生成树,图2和图3满足n个顶点n-1条边且连通的定义,是生成树。可知
有向树: 一个有向图的一个顶点入度为0,其余顶点入度均为1。
有向图的生成森林:各个连通分量的生成树的集合。
图2和图3的集合就是图1有向图的生成森林。
本文发布于:2024-02-01 11:47:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170675927036378.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |