#include<bits/stdc++.h>
using namespace std;
void bfs(){for(int i=1;i<=n;i++)v[i]=0;queue<Node> q;for(int i=1;i<=number;i++){if(!v[i]){q.push(i);while(!q.empty()){e=q.front();q.pop();for(){//遍历邻接点加入到队列中 }}}}
}
void mst_prime(){for(int i=1;i<=n;i++){cost[i]=inf;used[i]=0;}cost[1]=0;int res=0;while(1){int v=-1;for(int i=1;i<=n;i++)if(!used[i]&&(v==-1||cost[i]<cost[v]))v=i;if(v==-1)break;res+=cost[v];used[v]=1;for(u遍历v的所有邻接点)if(!used[u])cost[u]=min(cost[u],cost[v]+G[v][u]);}  cout<<res;
}void kudikaer(){//设edge[]是存放边的结构体数组,一共有m条边 for(int i=1;i<=n;i++)used[i]=0;int res=0;sort(edge,edge+m);//吧边从小到大排序 for(int i=1;i<=m;i++){if(sed[edge[i].pre]==0||used[edge[i].end]==0;){used[edge[i].pre]=used[edge[i].end]=1;res+=edge[i].cost;}}cout<<res;//克鲁笛卡尔是把所有边都排一下序,然后进行最小生成树的筛选
}
void dijisitla(){//迪杰斯特拉算法:单源最短路径 (和普利姆算法差不多)for(int i=1;i<=n;i++){d[i]=inf;used[i]=0;}d[1]=0;while(1){int v=-1;for(int u=1;u<=n;u++)if(!used[i]&&(v==-1||d[u]<d[v]))v=u;if(v==-1)break;used[v]=1;for(int i=1;i<=n;i++)\d[i]=min(d[i],d[v]+G[v][i]);     }for(int i=1;i<=n;i++)cout<<d[i];
}
void floyd(){//弗洛伊德五行算法。 for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
void  dfs(int x){for(遍历x的邻接点u){if(!used[u]){used[u]=1;要进行的操作;dfs(u); }  }
}
void bfs(int x){queue<Node> q;q.push(x);while(!q.empty()){Node e=q.front();q.pop();for(遍历e的邻接点){if(!used[i]){used[i];bfs要进行的操作; q.push(i);            }} }
}
void monst(){for(int i=1;i<=n;i++)used[i]=0;for(int i=1;i<=n;i++)if(!used[i]){used[u]=1;要进行的操作;dfs(u); }for(int i=1;i<=n;i++)used[i]=0;for(int i=1;i<=n;i++){if(!used){bfs(i);}}
}

图论板子dijkstra,Floyd,prime,bfs,dfs, krustral相关推荐

  1. Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS、深度优先DFS,最短路径SPF、带负权的最短路径Bellman-ford、拓扑排序)

    Algorithm:C++语言实现之图论算法相关(图搜索广度优先BFS.深度优先DFS,最短路径SPF.带负权的最短路径Bellman-ford.拓扑排序) 目录 一.图的搜索 1.BFS (Brea ...

  2. 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...

    java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法 public class City { String name; int id; static int idCounter = ...

  3. 最短路问题(Bellman/Dijkstra/Floyd)

    最短路问题(Bellman/Dijkstra/Floyd) 寒假了,继续学习停滞了许久的算法.接着从图论开始看起,之前觉得超级难的最短路问题,经过两天的苦读,终于算是有所收获.把自己的理解记录下来,可 ...

  4. 【八数码问题】基于状态空间法的知识表示与状态搜索:无信息搜索(BFS/DFS) 启发式搜索(A*)

    前言 一.问题引入 二.状态空间法 1. 知识及其表示 2. 状态空间法定义 3. 问题求解 三.基于状态空间搜索法解决八数码问题 1. 八数码问题的知识表示 2. 状态空间图搜索 1. 无信息搜索 ...

  5. 动态规划+BFS+DFS+回溯+红黑树+排序+链表+位运算(B站优质学习资源链接,后续会继续更新)

    动态规划 正月点灯笼(UP主) 个人主页 https://space.bilibili.com/24014925/channel/detail?cid=12580 动态规划第一讲 https://ww ...

  6. 邻结矩阵的建立和 BFS,DFS;;

    邻结矩阵比较简单,, 它的BFS,DFS, 两种遍历也比较简单,一个用队列, 一个用数组即可!!!但是邻接矩阵极其浪费空间,尤其是当它是一个稀疏矩阵的时候!!!-------------------- ...

  7. [Leetcode][第785题][JAVA][判断二分图][BFS][DFS]

    [问题描述][中等] [解答思路] 1. DFS 深度优先遍历 时间复杂度:O(N+M) 空间复杂度:O(N) class Solution {private static final int UNC ...

  8. LeetCode 1263. 推箱子(BFS+DFS / 自定义哈希set)

    文章目录 1. 题目 2. 解题 2.1 超时解 2.2 BFS + DFS 1. 题目 「推箱子」是一款风靡全球的益智小游戏,玩家需要将箱子推到仓库中的目标位置. 游戏地图用大小为 n * m 的网 ...

  9. LeetCode 1034. 边框着色(BFS/DFS)

    文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DFS 1. 题目 给出一个二维整数网格 grid,网格中的每个值表示该位置处的网格块的颜色. 只有当两个网格块的颜色相同,而且在四个方向中任 ...

最新文章

  1. Reids报错解决:Job for redis-server.service failed because the control process exited with error code.
  2. 文本去重之MinHash算法——就是多个hash函数对items计算特征值,然后取最小的计算相似度...
  3. 机器学习(2.sklearn(Scikit-learn)库、字典数据的特征抽取)
  4. mootools系列:打造属于你自己的Popup(弹出框)——扩展功能篇
  5. php array colum,php5.5新数组函数array_column使用
  6. 前端大神的离逝,让我们不得不有所反思。
  7. python内置函数 exec eval compile
  8. 【Flink】Flink 源码之OperatorChain
  9. 虚拟化VMware ESXi 6.7服务器安装配置详细步骤图文
  10. Python Tricks(十二)—— 有理数的加法
  11. Ueditor、FCKeditor、Kindeditor编辑器漏洞
  12. Oracle安装步骤(自用)
  13. hibernate jar 下载地址
  14. oracle启动pmon,oracle 11g pmon工作内容系列三
  15. 算法设计与分析——斐波那契堆
  16. 【个人学习文章收集】
  17. mac 更新系统时间
  18. 搬寝室 ----- 动态规划
  19. DDD中的值对象和实体
  20. 【信息安全案例】——网络信息面临的安全威胁(学习笔记)

热门文章

  1. 电子词典中鼠标取词的原理
  2. led matlab仿真,大功率LED照明电源研究及基于Matlab的仿真
  3. 30 款 IDEA 宝贝插件
  4. **没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案
  5. Java开源企业开发平台教程:待办挂起业务场景实现
  6. ipad概念画板手写+svg动画效果
  7. AutoAugment 学习
  8. K210学习笔记(十)——二维码识别
  9. C语言VRAM字符串平滑移动,航空数字化仪表中动画显示技术的应用
  10. Python函数式编程:map/reduce