최소히프삽입함수 질문입니다.
해길
질문 제목 : 최소히프삽입 알고리즘에 대하여....
자료구조를 공부하고 있는 대학생입니다.
최소히프에 삽입하는 함수를 작성하던중 잘 이해가 되지않아 책이나 인터넷에 있는 알고리즘을
파헤쳐 보다가 도저히 안나와서 이렇게 질문드립니다.
제가 이번에 하고있는 코딩은 kruskal 함수 통해서 최소신장트리를 구현하고 있는데요
여기서 쓰이는 최소히프삽입함수가 도저히 안돼서요.
이론적으로 이해가 안된다는 것이 아니라....
보통 책들에는
void insert(element item, int *n)
{
.....................
}
요렇게 되어 있는데
전
void insert(int v1, int v2, int cost, int *n)
{
...........................
}
d이렇게 짜야합니다.
앞의 두 파라미터들은 weighted edge의 형태로 minheap에 저장하고 cost는 비교 대상입니다. 두개 비교해서 작을걸 연결하는...
그리고 n은 현재 vertex 숫자를 저장하는 인자구요.
아 이거 땜에 올스톱으로 막혀있습니다. 제발 저에게 구원의 손깃을 보내주세요 ㅠㅠ
아 그리고 구조체 선언은
typedef struct Node *Ptr_Node;
typedef struct Node{
int Vertex;
int Cost;
Ptr_Node Link;
}Node;
//minheap을 위한 구조체
typedef struct{
int Vertex1;
int Vertex2;
int Cost;
}WeightedEdge;
이렇게 했습니다.