图论
Qianzhez。
这个作者很懒,什么都没留下…
展开
-
最短路&拓扑排序&最小生成树
最短路问题图里面比较经典的问题,这里总结两种求最短路径的方法,floyd(弗洛伊德)dijkstra(迪杰斯特拉),前者比较好理解,但是很暴力,大一点的数据就会爆掉了。后者是一种贪心的算法在里面。floyed把所有点,和边存入一个二维数组里面,三重循环找优解。int maze[maxn][maxn];memset(maze,inf,sizeof(maze));for(int k=0...原创 2020-07-05 14:31:04 · 249 阅读 · 0 评论 -
图的搜索 (二分图)
1.图的存储图的存储有两种:1.邻接矩阵的存法,但是如果存的图太稀疏,会浪费掉大量内存。2.邻接表的存法,可以节省到很多存储空间,写法很多,这里展示两种1.邻接矩阵:就是用一个二位数组存下两点之间的权值,初始化的时候用一个足够大的inf2.邻接表第一种:用stl中的vector容器存,这个节点通向的节点们struct edge{int to;int value;};ve...原创 2019-08-14 11:32:56 · 223 阅读 · 0 评论 -
POJ 3255 Roadblocks 用dijkstra求次短路
用dijkstra求次短路基本步骤和dijkstra求最短路径没有什么本质上的区别,就是定义两个数组进行更新题目大意第一行给出,顶点个数和路径个数,然后是路径的给出,是无向图要存两遍。求给出的路径中,从1~n 的第二短路径的长度。题目分析1.这次不是用一般的二维数组存,使用了一下stl里面的vector容器,pair函数,优先队列,时间复杂度明显降低。vector<类型>...原创 2019-08-16 08:46:18 · 140 阅读 · 0 评论