最小生成树(Minimum Spanning Tree)
来源:互联网 发布:图像分类算法 简单 编辑:程序博客网 时间:2024/05/22 00:53
#include<iostream>using namespace std;const static int MAX = 100;const static int INFIT = 1000;const static int WHITE = 0;const static int GRAY = 1;const static int BLACK = 2;int graph[MAX][MAX];int n;int prim() { int color[MAX], p[MAX], d[MAX]; int u; int minv; int sum = 0; for(int i=0; i<n; i++){ color[i] = WHITE; d[i] = INFIT; p[i] = -1; } d[0] = 0; color[0] = GRAY; while(1) { minv =INFIT; u = -1; for(int i=0; i<n; i++) { if(color[i] != BLACK && d[i] < minv) { minv = d[i]; u = i; } } if(u == -1) break; color[u] = BLACK; for(int i=0; i<n; i++) { if(color[i] != BLACK && graph[u][i] != INFIT ) { if(graph[u][i] < d[i]) { d[i] = graph[u][i]; p[i] = u; } } } } for(int i=0; i<n; i++) { if(p[i] != -1){ sum += graph[p[i]][i]; } } return sum;}int main() { cin >> n; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { int e; cin >> e; graph[i][j] = (e == -1) ? INFIT : e; } } int s = prim(); cout << s << endl; return 0;}
0 0
- 最小生成树(minimum spanning tree)
- 最小生成树-Minimum Spanning Tree
- 最小生成树Minimum Spanning Tree
- 最小生成树(Minimum Spanning Tree)
- 最小生成树(Minimum-Spanning-Tree, MST)
- 最小生成树(Minimum Spanning Tree)
- Geeks : Kruskal’s Minimum Spanning Tree Algorithm 最小生成树
- 让我们来谈谈最小生成树(Minimum Spanning Tree)算法
- hdu 4408 Minimum Spanning Tree 最小生成树计数
- MST(Minimum Spanning Tree,最小生成树)
- 说说最小生成树(Minimum Spanning Tree)
- UVALive 3662 Another Minimum Spanning Tree 曼哈顿最小生成树
- Another Minimum Spanning Tree - UVaLive 3662 曼哈顿最小生成树
- HDU 4408 - Minimum Spanning Tree(最小生成树计数)
- 最小生成树(Minimum Spanning Tree)(Prim算法)
- 最小生成树(Minimum Spanning Tree)(Kruskal算法)
- HDU 4408 Minimum Spanning Tree(最小生成树计数)
- 5.4.1 最小生成树(Minimum-Spanning-Tree,MST)
- 2.Flume安装配置
- Java反射机制
- 移动端确定取消弹窗
- SVD奇异值分解详解
- Javascript(三)
- 最小生成树(Minimum Spanning Tree)
- java\oracle日期格式操作
- 为jEasyUi的日期控件添加一个“清空”按钮----通过修改1.4的easyui.min.js
- 04 Support Vector Machines
- 百度地图
- 答案已在心中
- 变量、常量
- php调整图像大小
- 2.4_颜色与透明度