본문내용
//kruskal algorithm을 이용한 최소 비용 신장 트리 출력
//파일입력 :
// 첫번째 줄 - 총 노드 개수
// 두번째 줄 - 총 간선 개수
// 세번째 줄 부터 - " node node cost " 순으로 간선수만큼 입력
#include
#include
#include
#define MAX_EDGE 100
#define MAX_NODE 100
#define TRUE 1
#define FALSE 0
typedef struct {
int v;
int w;
int cost;
} edge;
void insert_min_heap(edge item, int *n);
edge delete_min_heap(int *n);
void union2(int i, int j);
int find2(int i);
int kruskal(int node_num, int *edge_num);
void file_input(void);
void keyboard_input(void);
void print(int node_num, int edge_num); //kruskal 실행 후 결과 출력
int equal(edge data, int edge_num); //간선 중복 체크
edge E[MAX_EDGE]; //min heap으로 구성
edge T[MAX_EDGE]; //결과 간선들
int parent[MAX_NODE];
//파일입력 :
// 첫번째 줄 - 총 노드 개수
// 두번째 줄 - 총 간선 개수
// 세번째 줄 부터 - " node node cost " 순으로 간선수만큼 입력
#include
#include
#include
#define MAX_EDGE 100
#define MAX_NODE 100
#define TRUE 1
#define FALSE 0
typedef struct {
int v;
int w;
int cost;
} edge;
void insert_min_heap(edge item, int *n);
edge delete_min_heap(int *n);
void union2(int i, int j);
int find2(int i);
int kruskal(int node_num, int *edge_num);
void file_input(void);
void keyboard_input(void);
void print(int node_num, int edge_num); //kruskal 실행 후 결과 출력
int equal(edge data, int edge_num); //간선 중복 체크
edge E[MAX_EDGE]; //min heap으로 구성
edge T[MAX_EDGE]; //결과 간선들
int parent[MAX_NODE];