Métodos de Ordenacao
1) public static void BBSortAdap3(int[] vetor) { int i, temp, cont; bool HouveTroca = true; cont = vetor.Length - 1; while (HouveTroca) { HouveTroca = false; for (i = 0; i < cont; i++) if (vetor[i] > vetor[i + 1]) { temp = vetor[i]; vetor[i] = vetor[i + 1]; vetor[i + 1] = temp; HouveTroca = true; } cont--; } }
2)
BubbleSort:
Vetor
Trocas
Comparações
A
0
9801
B
99
9801
C
2571
9801
BubbleSortAdap1:
Vetor
Trocas
Comparações
A
0
99
B
99
198
C
2448
8712
BubbleSortAdap2:
Vetor
Trocas
Comparações
A
0
4950
B
99
4950
C
2691
4950
BubbleSortAdap3:
Vetor
Trocas
Comparações
A
0
99
B
99
197
C
2532
4935
a)Qual método de ordenação fez o maior número de trocas?
BubbleSortAdap2
b)Qual método de ordenação fez o menor número de trocas?
BubbleSortAdap1
c)Qual método de ordenação fez a maior quantidade de comparações?
BubbleSort
d)Qual método de ordenação fez a menor quantidade de comparações?
BubbleSprtAdap3
e)Com base nos seus experimentos, o que “pesa mais” no desempenho dos algoritmos? As trocas ou as comparações? Justifique sua resposta.
As trocas, pois são manipuladas 2 posições do vetor, alternando elas.
3)
public static bool Verifica_Ordena(int[] vetor) { int i, temp; bool HouveTroca = true; bool ordenado = true; while (HouveTroca) { HouveTroca = false; for (i = 0; i < vetor.Length - 1; i++) if (vetor[i] > vetor[i + 1]) { temp = vetor[i]; vetor[i] = vetor[i + 1];