Implementação de algoritmos de ordenação Insertion Sort e Bubble Sort em C, comparação do tempo de ordenação entre as duas técnicas.
A partir dos dados coletados, observa-se que o método de ordenação Insertion concluiu mais rapidamente a ordenação dos vetores em todos os cenários. A complexidade dos dois métodos é semelhante (o tempo de ordenação aumenta exponencialmente conforme o tamanho do vetor aumenta), já que há um laço de repetição dentro de outro no código em ambos os casos. Bubble faz mais comparações, aproximadamente j²/2 iterações (em que j é o número de elementos do vetor), enquanto Insertion faz aproximadamente j²/4 iterações.Para testar o algoritmo, o programa em C foi executado 3 vezes para cada tamanho de vetor supracitado e média do tempo de execução foi calculada.
Dessa forma, é possível concluir que estes dois algoritmos são indicados para menores conjuntos de dados. Além disso, apesar de um pouco mais complexo, nas situações descritas, Insertion é mais eficaz. Gráfico plotado a partir dos dados obtidos.
Média | ||
v[ ] | Bubble | Insertion |
50000 | 5.3 | 1.6 |
100000 | 25 | 7 |
200000 | 114.3 | 26 |
400000 | 470 | 105.3 |
800000 | 1798.3 | 404.6 |
1600000 | 6724 | 1462.3 |
Resultados Obtidos | |||
Tempo (s) | |||
v[ ] | Execução # | Bubble | Insertion |
50000 | 1 | 6 | 2 |
50000 | 2 | 5 | 1 |
50000 | 3 | 5 | 2 |
Média | 5.333333333 | 1.666666667 | |
100000 | 1 | 25 | 7 |
100000 | 2 | 26 | 7 |
100000 | 3 | 24 | 7 |
Média | 25 | 7 | |
200000 | 1 | 114 | 26 |
200000 | 2 | 114 | 26 |
200000 | 3 | 115 | 26 |
Média | 114.3333333 | 26 | |
400000 | 1 | 469 | 106 |
400000 | 2 | 471 | 105 |
400000 | 3 | 470 | 105 |
Média | 470 | 105.3333333 | |
800000 | 1 | 1828 | 408 |
800000 | 2 | 1822 | 409 |
800000 | 3 | 1745 | 397 |
Média | 1798.333333 | 404.6666667 | |
1600000 | 1 | 6842 | 1438 |
1600000 | 2 | 6710 | 1426 |
1600000 | 3 | 6620 | 1523 |
Média | 6724 | 1462.333333 |