ACM之图论

Posted yidiandianwy

tags:

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

 

实验数据: 

int dege[5][5] = 
     0, 9 ,6,-1,-1,
    -1, 0, 4, 5,-1,
    -1,-1, 0,-1, 7,
     3,-1,-1, 0,-1,
    -1,-1,-1, 8, 0 ;

 

  • DFS 深度优先搜索标记

  利用二维矩阵,存放图的信息,例如n个结点,那么图就是n*n大小,图分为有向图和无向图,在量化为矩阵的时候,区别就是一个是不对称的,无向是对称矩阵,然后用一个长度为n的一维矩阵存放,该节点是否被访问,由于未知该图的深度有多少,所以使用递归算法,在递归过程,通过标记矩阵判断该结点是否访问,未访问则进入下一层递归

 

int egde[5][5];//使用顶部的数据!
int pre[5] =  0 ,  tag=0;//存放结点被第几个访问,
void dfstag(int cur, int n) 
    pre[cur] = ++tag; //是否访问标记;第几个被访问;
    for (int i = 0; i < n; ++i) 
        if (edge[cur][i]>0&&pre[i]==0) //未被访问,则进入,
            dfstag(i, n);
        

int main() 
    dfstag(0, 5);
    for (int i = 0; i < 5; i++)
        cout << " " << pre[i];
    system("pause");
    return 0;

 

 

  • 无向图找桥

   

  • 无向图连通度

 

  • 最大团问题

 

  • 欧拉路径

 

  • Dijkstra数组实现

 

  • Dijkstra
  • BellmanFord单源最短路

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

[leetcode] 题型整理之图论

SDUT 3361 数据结构实验之图论四:迷宫探索

SDUT 3364 数据结构实验之图论八:欧拉回路

SDUT 3363 数据结构实验之图论七:驴友计划

SDUT-3361_数据结构实验之图论四:迷宫探索

SDUT 3362 数据结构实验之图论六:村村通公路