当前位置:网站首页 > 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
  • 一级word排版 什么叫一级标题 二级标题 三级标题 以此下去二级word排版 什么叫一级标题 二级标题 三级标题 以此下去怎么设置成目录(一级word排版 什么叫一级标题 二级标题 三级标题 以此下去二级word排版 什么叫一级标题 二级标题 三级标题 以此下去怎么用)2025-09-15 19:45:10
  • ucharit怎么读(uchallenge怎么读)2025-09-15 19:45:10
  • ldr指令的作用是什么(ld指令和ldi指令的操作元件有哪些)2025-09-15 19:45:10
  • spring 网盘(spring网盘)2025-09-15 19:45:10
  • xavier是男名还是女名(xavier的名字好听吗)2025-09-15 19:45:10
  • chronyc(chrony多久自动同步)2025-09-15 19:45:10
  • 群晖nas root密码(群晖 transmission 密码)2025-09-15 19:45:10
  • swagger2注解(swagger2常用注解)2025-09-15 19:45:10
  • storey(storey复数)2025-09-15 19:45:10
  • 全屏图片