图论算法

Posted 鄉勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图论算法相关的知识,希望对你有一定的参考价值。

图论〔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]){}//遍历

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

常用的就是邻接链表了。

最短路算法

 

以上是关于图论算法的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:数模05-图论模型(Floyd算法)

Prims算法:图论

图论:Tarjan算法

ACM算法与竞赛协会第二次培训-图论-代码与题目汇总

ACM算法与竞赛协会第二次培训-图论-代码与题目汇总

ACM算法与竞赛协会第二次培训-图论-代码与题目汇总