本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关。
本文章是自己学习的一些记录。
开始
图的应用场景:
互联网和移动电话的路由;
集成电路的设计和布线;
导航系统;
运输和物流的各种规划安排等等。
图的定义
图(Graph)由两个集合构成,记作G=<V,E>,其中V(vertex)是顶点的非空有限集合,E(edge)是顶点间关系-边的有限集合。
- 顶点:数据元素Vi称为顶点。
- 边和弧:P(Vi,Vj)表示在顶点Vi和Vj之间有线连接,如果是无向图,则称该线为边,有向图中,则称该连线为弧。边用顶点的无序对(Vi,Vj)表示,弧用有序偶对<Vi,Vj>表示。
无序和有序:
无序
有序
无向图
无向图G1表示:
G1=<V1,E1>
V1={v0,v1,v2,v3,v4}
E1={(v0,v1),(v0,v3),(v1,v2),(v1,v4),(v2,v3),(v2,v4)}
无序对(vi,vj):
用连接顶点的线段表示,称为无向边;
若图中G中所有边都是没有方向的,则称为无向图。
有向图
无向图G2表示:
G2=<V2,E2>
V2={v0,v1,v2,v3}
E1={<v0,v1>,<v0,v3>,<v0,v2>,<v1,v2>}
有序对<vi,vj>:
用以vi为起点,以vj为终点的有向线段表示,称为有向边或弧;
有序偶对的第一个节点称为始点(或弧,即不带箭头的一端),有序偶对的第二个结点称为终点(或狐头,即箭头的一端)
若图中G中所有边都是有方向的,则称为有向图。
网
无向网G3
边的权:
与图的边或者弧相关的数据信息称之为权。在实际的应用中,权值可以有某中的含义。
例如在城市间铺设网线,用顶点表示城市,用边表示所耗费用。
边带上权的图称为网。
有向完全图:
在有向图中,如果任意两个顶点之间都有方向互为相反的两条弧连接,则称该图为有向完全图。n个顶点的有向图最大边数是n(n-1).
无向完全图
在无向完全图中,如果任意两个顶点间都有一条连接,则称该图为无向完全图。n个顶点的无向图最大边数是n(n-1)/2
系数图、稠密图
若一个图接近完全图,则称之为稠密图;边数很少的图称之为稀疏图。
图中关系术语
邻接:顶点之间的关系。若Vi与Vj间有边相连接,则Vi与Vj互称为邻接点;
例如:V3与V4、V1都是邻接的,与V0不是邻接的
关联:边与顶点之间的关系。若Vi与Vj之间有边相连接,则称(Vi,Vj)关联于顶点Vi,Vj.
例如:(V3,V4)关联于V3,V4
顶点的度、入度、出度
顶点的度:关联于某顶点V的边的数目。
例如:
V3的度为2,V0的度为3
在有向图中:
顶点V的出度(OD):以V为起点的有向边数;
顶点V的入度(ID):以V为终点的有向边数;
顶点的度TD(V)=OD(V)+ID(V)
例如:
V0的出度为1,入度为3 ,度为4
V3的出度为2,入度为0 ,度为2
参考书籍:数据结构与算法-裘宗燕著