最小生成树(题解) 两种解法

题目链接:点击打开链接

Prim算法:

#include
int n;
int a[101][101];
#define INF 999999
int Prim()
{
    int dist[101];
    int v[101]={0};
    int value=0;
    for(int i=0;i",minn);
        value += minn;
        v[k] = 1;
        for(int j=0;j a[k][j]){
                dist[j] = a[k][j];
            }
        }
    }
    return value;
}

int main()
{
    scanf("%d",&n);
    for(int i=0;i


最小生成树(题解) 两种解法_第1张图片

克鲁斯卡尔算法:

#include
#include
using namespace std;

struct Node
{
    int x,y,v;
}a[10001];

int n,k=0;
int pre[10001];

void Init()
{
    for(int i=0;i

最小生成树(题解) 两种解法_第2张图片

你可能感兴趣的:(图论,数据结构)