/*
将O(n^3)的优化为O(n^2)
朴素的想法是将Vt中的m个点与U-Vt中的n个点全部遍历,
优化后,只需选出Vt中长度最短的点。
代码太丑,懒得改,但比较实用。
*/
void Prim_Alternate()
{
int i,f,min,j;
vis[1]=true;
for(i=0;i<n-1;i++)
{
min=inf;
for(j=1;j<=n;j++)
if(!vis[j] && w[1][j]<min)
{
min=w[1][j];
f=j;
}
vis[f]=true;
sum+=min;
for(j=1;j<=n;j++)
if(!vis[j]&&w[1][j]>w[f][j])
w[1][j]=w[f][j];
}
}
Prim的优化Prim_Alternate
最新推荐文章于 2024-02-27 13:24:44 发布