O algoritmo Heapsort resolve o problema da ordenação de um vetor. O algoritmo recebe um vetor A[1..n] e rearranja o vetor de modo que ele fique em ordem crescente. Seu funcionamento, em pseudo-código segue esses parâmetros:
Heapsort (A, n)
1 Constrói-Max-Heap (A, n)
2 para m ← n, n−1, … , 2 faça
3 A[1] ↔ A[m]
4 Corrige-Descendo (A, m−1, 1)
De acordo com o enunciado, escolha a alternativa que descreve cada um dos 4 passos enumerados no código HeapSort acima:
a) 1. . Trecho do código onde é informado a troca (swap) que deve ser efetuada, dentro do que ficou estabelecido no algoritmo, enquanto as condições do laço não atingem seu limite
2. Constrói-Max-Heap transforma o vetor A[1..n] em max-heap.
3. Ordena o vetor. Se A[i] é maior ou igual que seus filhos então não é preciso fazer nada; senão, troque A[i] com o maior dos filhos e repita o processo para o filho envolvido na troca.
4. Laço “do-while” que informa o total de índices (heaps) que irão ser percorridos
b) 1. Constrói-Max-Heap transforma o vetor A[1..n] em max-heap.
2. Laço “do-while” que informa o total de índices (heaps) que irão ser percorridos
3. Trecho do código onde é informado a troca (swap) que deve ser efetuada, dentro do que ficou estabelecido no algoritmo, enquanto as condições do laço não atingem seu limite
4. Ordena o vetor. Se A[i] é maior ou igual que seus filhos então não é preciso fazer nada; senão, troque A[i] com o maior dos filhos e repita o processo para o filho envolvido na troca.
c) 1. Constrói-Max-Heap transforma o vetor A[1..n] em max-heap.
2. Trecho do código onde é informado a troca (swap) que deve ser efetuada, dentro do que ficou estabelecido no algoritmo, enquanto as condições do laço não atingem seu limite
3. Laço “do-while” que informa o total de índices (heaps) que irão ser percorridos
4. Ordena o vetor. Se A[i] é maior ou igual que seus filhos então não é preciso fazer nada; senão, troque A[i] com o maior dos filhos e repita o processo para o filho envolvido na troca.
d) 1. Constrói-Max-Heap transforma o vetor A[1..n] em max-heap.
2. Ordena o vetor. Se A[i] é maior ou igual que seus filhos então não é preciso fazer nada; senão, troque A[i] com o maior dos filhos e repita o processo para o filho envolvido na troca.
3. Trecho do código onde é informado a troca (swap) que deve ser efetuada enquanto as condições do laço não atingem seu limite
4. Trecho do código onde é informado a troca (swap) que deve ser efetuada, dentro do que ficou estabelecido no algoritmo, enquanto as condições do laço não atingem seu limite
e) N.D.A.
Fonte:
http://www.ime.usp.br/~pf/analise_de_algoritmos/aulas/hpsrt-pr.html
Assinar:
Postar comentários (Atom)
Um comentário:
Reposta correta: letra b
Postar um comentário