Todas as complexidades que você forneceu são verdadeiras, porém são fornecidas na notação Big O ; portanto, todos os valores e constantes aditivos são omitidos.
Para responder sua pergunta, precisamos nos concentrar em uma análise detalhada desses dois algoritmos. Essa análise pode ser feita manualmente ou encontrada em muitos livros. Usarei os resultados da Arte da programação de computadores de Knuth .
Número médio de comparações:
- Tipo de bolha : 12(N2−NlnN−(γ+ln2−1)N)+O(N−−√)
- Tipo de inserção : 14(N2−N)+N−HN
- Tipo de seleção : ( N+ 1 ) HN- 2 N
Agora, se você traçar essas funções, obterá algo como isto:
Como você pode ver, a classificação das bolhas é muito pior à medida que o número de elementos aumenta, mesmo que os dois métodos de classificação tenham a mesma complexidade assintótica.
Essa análise é baseada na suposição de que a entrada é aleatória - o que pode não ser verdade o tempo todo. No entanto, antes de começarmos a classificar, podemos permutar aleatoriamente a sequência de entrada (usando qualquer método) para obter o caso médio.
Omiti a análise de complexidade de tempo porque depende da implementação, mas métodos semelhantes podem ser usados.