当前位置:网站首页 > R语言数据分析 > 正文

prim算法csdn(prim算法时间复杂度)



#include<iostream> #include<cstring> using namespace std; int pre[101]; int u[101],v[101],edge[101]; //u,v分别为两个点,edge为两个点之间的边 int m,n; int find(int x) { int root = x; while(pre[root]!=root) root = pre[root]; //路径压缩 int i,j; i = x; while(pre[i]!=root) { j = i; i = pre[i]; pre[j] = root; } return root; } void kruskal() //最小生成树,Kruskal算法 { cout<<"Kruskal:"<<endl; int i,total,min,minnum,fu,fv; total = n-1; while(total>0) { min = ; for(i=1;i<=m;i++) //找最小值  { if(u[i] == -1||v[i] == -1) continue; if(edge[i]<min) { min = edge[i]; minnum = i; } } fu = find(u[minnum]); fv = find(v[minnum]); if(fu!=fv) //不连通,就连接两个点  { cout<<u[minnum]<<","<<v[minnum]<<":"<<edge[minnum]<<endl; pre[fu] = fv; total--; } edge[minnum] = ; //改变已经找到的最小值 u[minnum] = -1; v[minnum] = -1; } } int main() { cin>>n>>m; int i,a,b,tem; for(i=1;i<=n;i++) pre[i] = i; for(i=1;i<=m;i++) { cin>>a>>b; cin>>tem; u[i] = a; v[i] = b; edge[i] = tem; } kruskal(); return 0; }
到此这篇prim算法csdn(prim算法时间复杂度)的文章就 介绍到这了,更多相关 内容请继续浏览下面的相关 推荐文章,希望大家都能在 编程的领域有一番成就!

版权声明


相关文章:

  • total影响因子(影响因子signal transduct target ther)2025-09-15 19:45:10
  • spring 网盘(spring网盘)2025-09-15 19:45:10
  • chronyc 手动同步(chronyc 手动同步ip)2025-09-15 19:45:10
  • grid布局实例(gridlayout布局怎么用)2025-09-15 19:45:10
  • store.steampowered/com手机版(store.steampowered/com手机版下)2025-09-15 19:45:10
  • xavier是男名还是女名(xavier的名字好听吗)2025-09-15 19:45:10
  • oracle doc(oracle docker 镜像)2025-09-15 19:45:10
  • uchar和uint(uchar和uint8的区别)2025-09-15 19:45:10
  • onenet论文(onenetwork资料)2025-09-15 19:45:10
  • vbfor循环语句详解(vbs for循环语句)2025-09-15 19:45:10
  • 全屏图片