Appearance
문제 3 [2점]
d-힙d-heap에서, 루트root, 리프leaf 노드가 아닌 i번째 노드의 부모parent 인덱스와 자식child 인덱스는 어떻게 정의되는지 서술(각 1점)하시오.
d-힙은 각 노드가 최대 d개의 자식을 갖는 완전 d-진 트리를 배열에 저장한 것이다. 인덱스를 1부터 시작한다고 하면(루트가 1번), i번 노드에 대해 다음이 성립한다.
부모 인덱스
자식 인덱스
i번 노드의 d개 자식은 연속한 칸을 차지한다.
즉 첫째 자식은 d(i−1)+2, 마지막 자식은 di+1 이다.
검산(d=2, 즉 이진 힙)
(만약 0-기반 인덱스를 쓴다면 parent(i)=⌊(i−1)/d⌋, children(i)=di+1,…,di+d 가 된다.)