SóProvas


ID
2986831
Banca
CCV-UFC
Órgão
UFC
Ano
2019
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Para realizar a ordenação de um vetor de inteiros contendo n números, foi utilizado um algoritmo de ordenação baseado na estratégia de dividir para conquistar e na divisão e ordenação recursiva das partes do vetor, obtendo um tempo de execução O(n log n). Qual das opções abaixo contém o algoritmo de ordenação descrito?

Alternativas
Comentários
  • Conforme a questão menciona, vamos DIVIDIR para CONQUISTAR :

    1) Para realizar a ordenação de um vetor de inteiros contendo n números, foi utilizado um algoritmo de ordenação baseado na estratégia de dividir para conquistar ...

    Ao mencionar a estratégia de dividir para conquistar, ficamos somente com duas alternativas, alternativa B(quick sort) e alternativa C(Merge Sort)

    .

    2).... e na divisão e ordenação recursiva das partes do vetor...

    Ainda não podemos eliminar nenhuma das alternativas que nos restam, pois ambas (quicksort e mergesort) abordam recursivamente

    .

    3) ...obtendo um tempo de execução O(n log n)

    Aqui começa a facilitar, partindo do caso médio, ambos, possuem complexidade sub-quadrático - N(Log n)-, porém indo para o pior caso, o algoritmo quicksort possui complexidade quadrática (n^2). Já podemos determinar o gabarito da questão, MergeSort.... ainda não está seguro? Vamos ao último passo então...

    .

    4) ......

    Ops não possui mais um passo, corroborando que o gabarito é o mergeSort, pois uma grande diferença entre estes dois algoritmos de ordenação é a escolha do Pivo em QuickSort, ao meu ver, se o examinador quisesse mesmo que o gabarito fosse QuickSort, seria obrigatório mencionar a escolha de um pivô para designar o QuickSort, portanto...

    GABARITO ALTERNATIVA C

  • Força Guerreiro!!!!!!