Pesquisa e classificação
É um refinamento do método de inserção direta. O algoritmo difere do método de inserção direta pelo fato de no lugar de considerar o array a ser ordenado como um único segmento, ele considera vários segmentos sendo aplicado o método de inserção direta em cada um deles. Basicamente o algoritmo passa várias vezes pela lista dividindo o grupo maior em menores. Nos grupos menores é aplicado o método da ordenação por inserção.
Ordenação por Inserção Binária.
O algoritmo de inserção direta é facilmente aperfeiçoado observando-se que a sequência destino ai ...ai-1, na qual deve ser inserido o novo elemento, já esta devidamente ordenada. Portanto, pode-se utilizar um método mais rápido para determinar o ponto correto de inserção. A escolha óbvia é a busca binária, que mostra a sequência destino no seu ponto central, continuando a bissecção até encontrar o ponto correto de inserção.
Ordenação por Inserção quicksort.
O Quicksort adota a estratégia de divisão e conquista. A estratégia consiste em rearranjar as chaves de modo que as chaves "menores" precedam as chaves "maiores". Em seguida o Quicksort ordena as duas sublistas de chaves menores e maiores recursivamente até que a lista completa se encontre ordenada. [3]
Os passos são:
Escolha um elemento da lista, denominado pivô;
Rearranje a lista de forma que todos os elementos anteriores ao pivô sejam menores que ele, e todos os elementos posteriores ao pivô sejam maiores que ele. Ao fim do processo o pivô estará em sua posição final e haverá duas sublistas não ordenadas.
Essa operação é denominada partição;
Recursivamente ordene a sublista dos elementos menores e a sublista dos elementos maiores; A base da recursão são as listas de tamanho zero ou um, que estão sempre ordenadas. O processo é finito, pois a cada iteração pelo menos um elemento é posto em sua posição final e não será mais manipulado na iteração seguinte.
Ordenação por Inserção