반응형
SMALL
03. 힢 노드의 삭제 및 삽입
힢 구현을 위한 자료구조
배열을 이용한 힙의 구현 : 완전 이진트리이기 때문에 배열로 구현해도 기억장소 낭비가 없음
→ 연걸 리스트보다 실행 속도 면에서 효율적임
→ 기억장소 측면에서도 장점을 가짐
배열을 이용한 힢의 구현
힢의 노드 삭제
typedef struct{
int heap[MAX_Data];
int heap_size;
}HeapType ;
int deleteHeap(HeapType *h){
int parent,child;
int item,temp;
item = h->heap[1];
temp = h->heap[(h->heap_size)];
parent=1; child=2;
힢의 노드 삭제
while(child <= h->heap_size){
if((child < h->heap_size)&&(h->heap[child] > h->heap[child+1]))
child++;
if(temp <= h->heap[child])
break;
h->heap[parent] = h->heap[child];
parent = child;
child *= 2;
}
h -> heap[parent] = temp;
return item; }
힢의 노드 삽입
void insertHeap(HeapType *h,intitem){
inti;
i =++(h->heap_size);
while((i !=1) && (item<h->heap[i/2])) {
h -> heap[i] = h->heap[i/2];
i /= 2; }
h->heap[i] = item; }
반응형
LIST
'방송통신대학 > 자료구조' 카테고리의 다른 글
10-2. 숲 (0) | 2021.01.02 |
---|---|
10-1. 선택트리 (0) | 2021.01.01 |
9-1. 힢 (0) | 2020.12.21 |
8-2. 스레드 트리의 구현 (0) | 2020.12.11 |
8-1. 스레드 트리 (0) | 2020.12.10 |