A estrutura de dados Heap, base do
algoritmo de ordenação Heap Sort, é um vetor com N posições que pode ser
visto como uma árvore binária completa, onde: (a) cada nó tem até 2 filhos; (b)
cada vértice da árvore é um elemento do vetor; (c) a árvore é sempre preenchida
de forma completa da esquerda para a direita, exceto no último nível; e (d)
para todo vértice i, diferente da raiz, vale a propriedade X[Pai(i)]
>= X[i]. Quais são os cálculos necessários para se descobrir as posições
dos nós pai, filho à esquerda e filho à direita de um nó na posição i do
vetor?
Questão
2013
CS UFG
Instituto Federal Goiano
Analista de Tecnologia da Informação (IF Goiano)
estrutura-dados-Heap98ed9de4e6
A
Pai(i) = 2i+1, FilhoEsquerdo(i) = i/2, FilhoDireito(i) = 2i
B
Pai(i) = i/2, FilhoEsquerdo(i) = 2i, FilhoDireito(i) = 2i+1
C
Pai(i) = 2i, FilhoEsquerdo(i) = i/2, FilhoDireito(i) = 2i+1
D
Pai(i) = 2i, FilhoEsquerdo(i) = 2i+1, FilhoDireito(i) = i/2