Estou tentando entender alguns algoritmos de classificação, mas estou lutando para ver a diferença na classificação por bolha e no algoritmo de classificação por inserção.
Eu sei que ambos são O (n 2 ), mas me parece que a classificação por bolha apenas borbulha o valor máximo da matriz para o topo de cada passagem, enquanto a classificação por inserção apenas afunda o valor mais baixo para baixo a cada passagem. Eles não estão fazendo exatamente a mesma coisa, mas em direções diferentes?
Para classificação por inserção, o número de comparações / trocas potenciais começa em zero e aumenta a cada vez (ou seja, 0, 1, 2, 3, 4, ..., n), mas para classificação por bolha esse mesmo comportamento acontece, mas no final de a classificação (ou seja, n, n-1, n-2, ... 0) porque a classificação por bolha não precisa mais ser comparada com os últimos elementos à medida que são classificados.
Por tudo isso, porém, parece um consenso que o tipo de inserção é melhor em geral. Alguém pode me dizer o porquê?
Edit: Estou interessado principalmente nas diferenças em como os algoritmos funcionam, não tanto em sua eficiência ou complexidade assintótica.