graph

图的概念和存储

图的概念

由点\(\left(vertex\right)\)和连接点的边\(\left(edge\right)\)组成,图是点和边构成的网。描述了事物之间的连接。最典型的应用场景就是地图

图的算法复杂度如果是成线性的\(O(V + E)\)几乎是最好的程度。
如果能达到\(O(VlogE),O(ElogV)\),则也是很好的算法
如果是\(O(E^2),O(V^2)\)或者更高,则不是很好的算法

图的存储

1. 邻接矩阵

存储方式

二维数组:\(int\:graph\left[NUM\right]\left[NUM\right]\);

无向图:\(graph\left[i\right]\left[j\right]\:==\:graph\left[j\right]\left[i\right]\);

有向图:\(graph\left[i\right]\left[j\right]\:!=\:graph\left[j\right]\left[i\right]\);

权值:\(graph\left[i\right]\left[j\right]\)存放点\(i\)\(j\)的边的权值,用\(graph\left[i\right]\left[j\right]\:=\:INF\:\)表示\(i\)\(j\)直接无边

优点

适合稠密图,编码非常简短,对存储、查询、更新等操作快捷。

缺点

  1. 存储的复杂度太高\(O(V^2)\)太高
posted @ 2021-05-11 17:33  Acckno1  阅读(349)  评论(0)    收藏  举报