TRABALHO DE PROGRAMA O
Nome:
Introdução Métodos de ordenação de dados são métodos utilizados na programação com o objetivo de ordenar dados dentro de vetores e matrizes. Neste presente trabalho irei mostrar três tipos de métodos de ordenação e seus respectivos algoritmos.
1 – Shell Sort
Criado por Donald Shell em 1959,publicado pela Universidade de Cincinnati, Shell sort é o mais eficiente algoritmo de classificação dentre os de complexidade quadrática. É 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.
1.1 – Algoritmo procedure SelectionSort (vetor , n); var i,j: integer; min, temp : integer; begin for i:= 0 to n-1 do begin min := i; for j:=i+1 to n-1 do if vetor[j] < vetor[min] then min := j; temp := vetor[i]; vetor[i] := vetor[min]; vetor[min] := temp; end;
2 - Quick Sort
Este algoritmo nasceu de uma pequena modificação do pior algoritmo até então conhecido ( o bolha), e passou a ser o melhor algoritmo que conhecemos. A modificação é simples: em vez de trocar vizinhos, vamos trocar os elementos o mais longe possível um do outro. Isto foi feito por C.R. Hoare, no início dos anos 60. Como este algoritmo tem paternidade conhecida, respeita-se o nome dado por seu inventor: quicksort ( classificação rápida). O grande detalhe é o uso da recursividade, o que pode limitar sua utilização em linguagens pobres ( COBOL, CLIPPER, BASIC, NATURAL etc) que não tenham este recurso. Outra alternativa seria programá-lo de maneira não recursiva, o que o torna um pouco mais complexo.
2.1 – Algoritmo
3 -