SóProvas


ID
1919692
Banca
Marinha
Órgão
Quadro Complementar
Ano
2014
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Assinale a opção que apresenta o algoritmo de ordenação cujo tempo de execução do pior caso é Θ(n2) sobre um arranjo de entrada de n números, porém é normalmente o mais eficiente para ordenação, devido a sua ótima complexidade de tempo na média e no melhor caso: Θ(n.lgn), e também apresenta a vantagem da ordenação local e que funciona bem para ambientes de memória virtual. 

Alternativas
Comentários
  • O gabarito é a letra A.

     

    O quicksort adota a estratégia de divisão e conquista. A estratégia consiste em rearranjar as chaves de modo que as chaves "menores" precedam as chaves "maiores". Em seguida o quicksort ordena as duas sublistas de chaves menores e maiores recursivamente até que a lista completa se encontre ordenada. Os passos são:

     

    1) Escolha um elemento da lista, denominado pivô. 

     

    2) Rearranje a lista de forma que todos os elementos anteriores ao pivô sejam menores que ele, e todos os elementos posteriores ao pivô sejam maiores que ele. Ao fim do processo o pivô estará em sua posição final e haverá duas sublistas não ordenadas. Essa operação é denominada partição. 

     

    3) Recursivamente ordene a sublista dos elementos menores e a sublista dos elementos maiores. 

     

    4) A base da recursão são as listas de tamanho zero ou um, que estão sempre ordenadas. O processo é finito, pois a cada iteração pelo menos um elemento é posto em sua posição final e não será mais manipulado na iteração seguinte.

  • A) QUICKSORT.

    • Melhor caso: O(n log n)
    • Médio caso: O(n log n)
    • Pior caso: O(n^2)

    B) HEAPSORT

    • Melhor caso: O(n log n)
    • Médio caso: O(n log n)
    • Pior caso: O(n log n)

    GABARITO: A