SPFA算法
来源:互联网 发布:什么是行知教育思想 编辑:程序博客网 时间:2024/06/03 11:08
int spfa_bfs(int s){ queue <int> q; memset(d,0x3f,sizeof(d)); d[s]=0; memset(c,0,sizeof(c)); memset(vis,0,sizeof(vis)); q.push(s); vis[s]=1; c[s]=1; //顶点入队vis要做标记,另外要统计顶点的入队次数 int OK=1; while(!q.empty()) { int x; x=q.front(); q.pop(); vis[x]=0; //队头元素出队,并且消除标记 for(int k=f[x]; k!=0; k=nnext[k]) //遍历顶点x的邻接表 { int y=v[k]; if( d[x]+w[k] < d[y]) { d[y]=d[x]+w[k]; //松弛 if(!vis[y]) //顶点y不在队内 { vis[y]=1; //标记 c[y]++; //统计次数 q.push(y); //入队 if(c[y]>NN) //超过入队次数上限,说明有负环 return OK=0; } } } } return OK;}
int spfa_dfs(int u){ vis[u]=1; for(int k=f[u]; k!=0; k=e[k].next) { int v=e[k].v,w=e[k].w; if( d[u]+w < d[v] ) { d[v]=d[u]+w; if(!vis[v]) { if(spfa_dfs(v)) return 1; } else return 1; } } vis[u]=0; return 0;}
阅读全文
0 0
- SPFA 算法
- SPFA 算法
- SPFA算法
- SPFA算法
- SPFA算法
- SPFA算法
- Spfa算法
- SPFA算法
- SPFA 算法
- Spfa算法
- SPFA算法
- SPFA算法
- SPFA算法
- SPFA算法
- spfa算法
- SPFA算法
- SPFA算法
- SPFA算法
- ObjectBox
- java 从网络Url中下载文件
- css样式
- 利用Appium实现App自动化测试
- hashMap,hashTable,hashSet,TreeMap的区别
- SPFA算法
- react -native Android真机调试注意的问题
- angularJS年龄查找与性别查找
- 合并排序/归并排序(递归与分治)-算法设计与分析
- 【JavaScript】JavaScript同步、异步、回调的执行顺序
- 异常的继承范围
- I NEED A OFFER!
- 智能小车stm32(寻迹测速)
- 数组冒泡排序