首页 > 代码库 > 图论算法

图论算法

图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。

分类

有向图,无向图;单图;

平面图,连通图,强连通图,有向无环图,AOV网,AOE网,完全图,二分图,完全二分图,正则图,二叉图;

树,外向树、内向树,章鱼图,人掌图(边仙人掌、点仙人掌),有向无环图,分图。

这里面,很多都是我闻所未闻的东西。。。图论真的博大精深呀。

基本术语

技术分享000

基本概念

技术分享000

储存方法

邻接链表

技术分享
int h[maxn],hs;int edge{int s,n;}e[maxm];//存储add(int q,int z){e[++hs]=(edge){z,h[q]},h[q]=hs;}//加边for(int i=1;i<=n;i++)for(int j=h[i];j;j=e[j].n){}//遍历
写法1

方法2(更快)

int h[maxn],hs;int e_s[maxm],e_n[maxm];//存储add(int q,int z){++hs,e_s[hs]=z,e_n[hs]=h[q],h[q]=hs;}//加边for(int i=1;i,=n;i++)for(int j=h[i];j;j=e_n[j]){}//遍历

邻接矩阵,边表,前向星,十字链表。

常用的就是邻接链表了。

最短路算法

 

图论算法