Olá pessoal, sou o Filipe Névola, este blog foi muito ativo durante 2009 enquanto eu fazia universidade,
hoje em dia estou ativo no Twitter @FilipeNevola e voltando a escrever posts agora no meu perfil do Medium (29/05/2016).

[ 25/07/2009 ] 0

Desempenho Insertion-Sort (Gráficos)

Analisaremos os gráficos a respeito do desempenho do Insertion-Sort começando pela entrada ordenada.

Gráfico 1: Insertion-Sort Entrada Ordenada (Tempo 0 a 10.000 segundos)

Podemos notar que para entradas ordenadas de diversos tamanhos o tempo deste algoritmo é linear. No próximo gráfico mostraremos esse mesmo teste com o eixo vertical (tempo) focado apenas no intervalo de 0 a 0,05 segundos para uma melhor visualização da variação dos tempos.

Gráfico 2: Insertion-Sort Entrada Ordenada Detalhado (Tempo 0 a 0,05 segundos)

Agora continuamos a observar o mesmo teste porém com melhor noção dos tempos e podemos perceber da mesma maneira que sua regressão linear ainda é bastante convincente mostrando que realmente o Insertion-Sort para entradas ordenadas é linear.

Gráfico 3: Insertion-Sort Entrada Inversamente Ordenada (Tempo 0 a 10.000 segundos)

Já para a entrada inversamente ordenado podemos perceber que o algortimo perde toda sua linearidade e se torna visivelmente exponencial o que torna seu uso para uma entrada deste tipo inaceitável.

Gráfico 4: Insertion-Sort Entrada Aleatória (Tempo 0 a 10.000 segundos)

Uma entrada aleatória torna o tempo do Insertion-Sort quadrático, que é exatamente o que foi dito sobre sua complexidade no caso médio tendendo a ser exponencial.

Veja também:
Explicação Teórica!
Implementação em C/C++!

Novo Comentário