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\)直接无边
优点
适合稠密图,编码非常简短,对存储、查询、更新等操作快捷。
缺点
- 存储的复杂度太高\(O(V^2)\)太高

浙公网安备 33010602011771号