Pages

Questão EPO - Heap sort

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

Um comentário:

Anônimo disse...

Reposta correta: letra b

Postar um comentário

 
Copyright (c) 2010. Blogger templates by Bloggermint