Algoritmos de ordenação para a disciplina de ANÁLISE E PROJETO DE ALGORITMOS
1 - Abra o arquivo .HTML com seu navegador padrão
2 - Informe o algoritmo que deseja utilizar (SelectionSort ou InsertionSort)
3 - Insira os números a serem ordenados no campo entrada
4 - Click em Sort para receber o resultado
Iniciamos a partir da segunda posição do vetor e guardamos este valor em uma variável chamada "pivôr" (esta variável será útil para as comparações para saber se um valor é maior que o outro).
Após armazenar o valor no pivôr, comparamos este número com os valores das posições anteriores a fim de aloca-lo na posição correta
(n + 1) * ( 2 + (2n * const) + 1 )
(n + 1) * ( 3 + (2n * const) )
2n²*const + 3n + 2n*const + 3
2n²*const + n (3 + 2*const) + 3
Removendo todas as constantes
n² + n
Como a complexidade para o pior caso sempre é medida utilizando o n de maior grau temos que a complexidade do Insertion Sort é:
O(n²)
Percorremos todo o vetor a partir da primeira posição em busca do menor número e o alocamos na primeira posição
Perceba que o que existe é uma troca de valores
aux = vetor[0] //Guarda o que tinha na primeira posição
vetor[0] = vetor[i] //armazena o menor valor na primeira posição
vetor[i] = aux //armazena o valor na posição que o menor estava
Após realizar a troca de valores realizamos o mesmo procedimento a partir da posiçãoInicial + 1 (este procedimento é realizado até a penúltima posição do vetor)
2 + (n - 1) * ( 4c*n + 4)
2 + 4cn² + 4n - 4cn - 4
//retirando as constantes
n² + n - n
n²
O(n²)