O algoritmo de ordenação de pior complexidade temporal no ca...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a alternativa B - Bubble sort.
Vamos entender a questão e o porquê dessa resposta.
Essa questão aborda um tema fundamental em Algoritmos e Estrutura de Dados, especificamente focando em algoritmos de ordenação. Para resolvê-la, é necessário conhecimento sobre a complexidade temporal dos algoritmos, tanto no melhor, quanto no pior, e no caso médio.
Agora, vamos analisar cada uma das alternativas:
A - Merge sort: O Merge sort tem uma complexidade média de O(n log n). Isso ocorre porque o algoritmo divide a lista ao meio repetidamente e depois reconstrói a lista ordenada. Portanto, ele tem uma complexidade eficiente em termos de tempo.
B - Bubble sort: O Bubble sort tem uma complexidade média de O(n²). Esse algoritmo compara pares de elementos adjacentes e os troca se estiverem na ordem errada. No caso médio, ele precisa de várias iterações sobre a lista, tornando-se ineficiente para listas maiores.
C - Heapsort: O Heapsort tem uma complexidade média de O(n log n). Ele constrói um heap a partir dos dados e então ordena os dados extraindo o maior valor repetidamente. Isso também o torna eficiente em termos de tempo.
D - Quicksort: O Quicksort tem uma complexidade média de O(n log n) na maioria dos casos, embora no pior caso possa ser O(n²). Quicksort funciona particionando a lista ao redor de um pivô. Sua eficiência média é muito boa, mas depende da escolha de um bom pivô.
E - Binary tree sort: O Binary tree sort também tem uma complexidade média de O(n log n) na maioria dos casos. Ele insere os elementos em uma árvore binária de busca e então realiza uma travessia em ordem para obter a lista ordenada.
Portanto, Bubble sort é o algoritmo de ordenação que possui a pior complexidade temporal no caso médio entre os listados. Sua complexidade O(n²) o torna muito menos eficiente para grandes conjuntos de dados, comparado aos outros algoritmos mencionados.
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
Gabarito B
BubbleSort - pouco eficiente para ordenar grandes quantidades de informações. Compara posições adjacentes e vai ordenando o vetor. Elemento da posição i é comparado com o elemento da posição i + 1.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
algo____________best___________average___________worst
Quicksort Ω(n log(n))___________ Θ(n log(n))___________ O(n^2)
Mergesort Ω(n log(n)) ___________ Θ(n log(n)) ___________ O(n log(n))
Timsort Ω(n) ___________ Θ(n log(n)) ___________ O(n log(n))
Heapsort Ω(n log(n))___________ Θ(n log(n)) ___________ O(n log(n))
Bubble Sort Ω(n) ___________ Θ(n^2) ___________ O(n^2)
Insertion Sort Ω(n) ___________ Θ(n^2) ___________ O(n^2)
Selection Sort Ω(n^2) ___________ Θ(n^2) ___________ O(n^2)
Tree Sort Ω(n log(n)) ___________ Θ(n log(n)) ___________ O(n^2)
Shell Sort Ω(n log(n)) ___________ Θ(n(log(n))^2) ___________ O(n(log(n))^2)
Bucket Sort Ω(n+k) ___________ Θ(n+k) ___________ O(n^2)
Radix Sort Ω(nk) ___________ Θ(nk) ___________ O(nk)
Counting Sort Ω(n+k) ___________ Θ(n+k) ___________ O(n+k)
Cubesort Ω(n) ___________Θ(n log(n)) ___________ O(n log(n))
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo