Quantas comparações e trocas de posição ocorrerão se utiliz...

Próximas questões
Com base no mesmo assunto
Q690228 Algoritmos e Estrutura de Dados
Quantas comparações e trocas de posição ocorrerão se utilizarmos o algoritmo Bubble Sort para ordenar do menor para o maior valor o vetor [60,32,45,5,6,2], respectivamente:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta para a questão apresentada é B - 15 e 13.

Vamos explicar detalhadamente o processo de ordenação do vetor [60, 32, 45, 5, 6, 2] utilizando o algoritmo Bubble Sort e justificar a quantidade de comparações e trocas de posição realizadas.

O Bubble Sort é um algoritmo de ordenação simples que funciona repetidamente percorrendo a lista, comparando elementos adjacentes e trocando-os de posição se estiverem na ordem errada. Esse processo é repetido até que a lista esteja ordenada.

Etapas do Bubble Sort:

Passo 1: [60, 32, 45, 5, 6, 2]
Comparando 60 e 32: troca (Comparações: 1, Trocas: 1) -> [32, 60, 45, 5, 6, 2]
Comparando 60 e 45: troca (Comparações: 2, Trocas: 2) -> [32, 45, 60, 5, 6, 2]
Comparando 60 e 5: troca (Comparações: 3, Trocas: 3) -> [32, 45, 5, 60, 6, 2]
Comparando 60 e 6: troca (Comparações: 4, Trocas: 4) -> [32, 45, 5, 6, 60, 2]
Comparando 60 e 2: troca (Comparações: 5, Trocas: 5) -> [32, 45, 5, 6, 2, 60]

Passo 2: [32, 45, 5, 6, 2, 60]
Comparando 32 e 45: não troca (Comparações: 6, Trocas: 5) -> [32, 45, 5, 6, 2, 60]
Comparando 45 e 5: troca (Comparações: 7, Trocas: 6) -> [32, 5, 45, 6, 2, 60]
Comparando 45 e 6: troca (Comparações: 8, Trocas: 7) -> [32, 5, 6, 45, 2, 60]
Comparando 45 e 2: troca (Comparações: 9, Trocas: 8) -> [32, 5, 6, 2, 45, 60]

Passo 3: [32, 5, 6, 2, 45, 60]
Comparando 32 e 5: troca (Comparações: 10, Trocas: 9) -> [5, 32, 6, 2, 45, 60]
Comparando 32 e 6: troca (Comparações: 11, Trocas: 10) -> [5, 6, 32, 2, 45, 60]
Comparando 32 e 2: troca (Comparações: 12, Trocas: 11) -> [5, 6, 2, 32, 45, 60]

Passo 4: [5, 6, 2, 32, 45, 60]
Comparando 5 e 6: não troca (Comparações: 13, Trocas: 11) -> [5, 6, 2, 32, 45, 60]
Comparando 6 e 2: troca (Comparações: 14, Trocas: 12) -> [5, 2, 6, 32, 45, 60]

Passo 5: [5, 2, 6, 32, 45, 60]
Comparando 5 e 2: troca (Comparações: 15, Trocas: 13) -> [2, 5, 6, 32, 45, 60]

Após todas essas iterações, o vetor está ordenado. Portanto, o número total de comparações é 15 e o número de trocas é 13, confirmando que a alternativa correta é B - 15 e 13.

Vamos analisar as alternativas incorretas:

A - 10 e 4: O número de comparações é subestimado. Cada iteração dentro do vetor envolve múltiplas comparações, e não seria possível ordenar o vetor dado com tão poucas operações.

C - 25 e 15: O número de comparações é exagerado. O Bubble Sort em um vetor de tamanho 6 não alcança tantas comparações, pois a complexidade máxima é aproximadamente O(n^2) para n = 6.

D - 22 e 12: Novamente, o número de comparações é exagerado. Além disso, o número de trocas está próximo do correto, mas não exato.

E - 12 e 9: O número de comparações e trocas está subestimado. O Bubble Sort em um vetor de tamanho 6 precisa de mais trocas e comparações para garantir a ordenação total do vetor.

Conclusã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

b-

comparações em bubble sort segue formato round robin. ou arranjo: n!p!/(n-p)!p! -> 6!2!/(6-2)!2! -> 6!2!/4!2! -> 6.5/2 = 15

Resolvi a questão simulando e verificando o número de trocas. Mas já sabendo que o número de comparações depende da implementação do algoritmo.

.

Se for seguir este padrão [1], seriam 30 comparações

Se for seguir este padrão [2], seriam 15 comparações.

.

[1] https://www.devmedia.com.br/entendendo-o-algoritmo-bubble-sort-em-java/24812

[2] https://www.javatpoint.com/bubble-sort-in-java

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo