Acerca de classificação de dados, julgue os itens subsecutiv...
Independentemente do vetor de entrada, o algoritmo Quick Sort divide o vetor ao meio, ordenando cada metade recursivamente e intercalando as duas metades ordenadas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - errado
Vamos analisar o enunciado da questão. Ela aborda o Quick Sort, um dos algoritmos de ordenação mais eficientes e amplamente utilizados. A questão afirma que o Quick Sort divide o vetor ao meio, ordena cada metade recursivamente e depois intercalando as duas metades ordenadas.
Essa afirmação está incorreta. O algoritmo descrito na questão se assemelha mais ao Merge Sort, não ao Quick Sort.
Para compreender melhor, vamos explicar brevemente cada um destes algoritmos:
Quick Sort: Este algoritmo escolhe um pivô e organiza os elementos de tal forma que os menores que o pivô fiquem à esquerda e os maiores à direita. Então, ele chama recursivamente o Quick Sort para as sublistas à esquerda e à direita do pivô, mas não necessariamente divide o vetor ao meio. A escolha do pivô pode ser feita de várias maneiras (primeiro elemento, último elemento, elemento aleatório, etc.), o que não implica em uma divisão exatamente ao meio.
Merge Sort: Este algoritmo, por outro lado, divide o vetor ao meio, ordena cada metade recursivamente e depois intercala as duas metades ordenadas. Isso corresponde diretamente à descrição feita no enunciado da questão.
Justificativa para a alternativa correta (E - errado):
A afirmação está errada porque descreve erroneamente o funcionamento do Quick Sort. O Quick Sort não necessariamente divide o vetor ao meio e não intercala sublistas ordenadas. Ele utiliza o conceito de pivô para particionar o vetor em sublistas menores e maiores que o pivô, ordenando estas sublistas recursivamente.
Revisão das alternativas incorretas:
Na verdade, a questão não oferece outras alternativas, mas faz uma afirmação que deve ser julgada como certa ou errada. A única alternativa apresentada (C - certo) está incorreta pelo motivo explicado acima.
Espero que esta explicação tenha ajudado a esclarecer o funcionamento de ambos os algoritmos de ordenação e o porquê da questão estar incorreta. Se tiver mais dúvidas ou precisar de mais exemplos, fico à disposição!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
http://www.decom.ufop.br/toffolo/site_media/uploads/2011-2/bcc202/slides/16._quicksort.pdf
acho que esse seria o mergeSort
Errado: desconsiderou o primeiro passo, conforme abaixo:
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. 3 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;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.
https://pt.wikipedia.org/wiki/Quicksort
Nem sempre ele separa no meio. A divisão ocorre com a escolha do pivot.
Gabarito Errado
MergeSort - divide para conquistar sucessivamente o vetor, e vai ordenando juntando os vetores. Geralmente se implementa recursivamente.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo