Tipos de algoritmos quanto a estabilidade:
Estáveis:
1 - Bubble
2 - Insertion
3 - Merge
Instáveis:
1 - Selection
2 - Quick
3 - Heap
4 - Shell
Bubble Sort
Se arrasta por todo array comparando com os elementos adjacentes ou X e X+1.
Como Vantagens podemos mencionar que são algoritmos simples e arquivos pequenos.
Como desvantagens podemos mencionar é necessário percorrer o algoritmo várias vezes e é pouco eficiente.
Com relação a sua complexidade temos que:
Pior condição: On²
Condição média: On²
Melhor condição: On
Selection Sort
Procura sempre passar o menor elemento para primeira posição.
Como Vantagens podemos mencionar que são algoritmos simples e consomem pouca memória.
Como desvantagens podemos mencionar possui a mesma complexidade em todos os níveis e possui o pior tempo de execução.
Com relação a sua complexidade temos que:
Pior condição: On²
Condição média: On²
Melhor condição: On²
Insection Sort
Se movimenta da esquerda pra direita, ordenando os elementos a esquerda.
Como Vantagens podemos mencionar que são algoritmos simples, eficientes e ótimo para vetores "parcialmente ordenados".
Como desvantagens podemos mencionar possui um alto número de operações devido a realocação dos elementos a esquerda..
Com relação a sua complexidade temos que:
Pior condição: On²
Condição média: On²
Melhor condição: On