FC ConcursosFC Concursos

Questão FC374699

Heapsort é um algoritmo de ordenação baseado na estrutura de dados heap. Sobre as características desse algoritmo de ordenação, assinale, a afirmativa correta.

Algoritmos e Lógica de Programação

Instituto Consulplan · 2024

Heapsort é um algoritmo de ordenação baseado na estrutura de dados heap. Sobre as características desse algoritmo de ordenação, assinale, a afirmativa correta.

  1. Heapsort é um algoritmo de ordenação estável.
  2. O tempo de execução do Heapsort no pior caso é O(n log n).
  3. Heapsort é um algoritmo que não pode ser implementado em uma estrutura de árvore.
  4. Heapsort sempre utiliza espaço adicional, proporcional ao número de elementos na lista a ser ordenada.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

Heapsort tem tempo de execução no pior caso \(O(n \log n)\). Essa afirmação decorre da estrutura e das operações fundamentais do algoritmo.

Primeiro, constrói-se um heap a partir do vetor de entrada; esse passo (heapify) pode ser feito em \(O(n)\) usando o processo bottom-up.

Em seguida, realiza-se repetidamente a operação de extract-max (ou extract-min), removendo a raiz e restaurando a propriedade de heap com o procedimento de sift-down, que percorre a altura da árvore.

Como a altura do heap é \(O(\log n)\) e essa restauração ocorre \(n\) vezes, essa fase custa \(O(n \log n)\).

Somando as fases: \(O(n) + O(n \log n) = O(n \log n)\), que é o comportamento no pior caso.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo