Algoritmos de ordenacao

Disponível somente no TrabalhosFeitos
  • Páginas : 19 (4674 palavras )
  • Download(s) : 0
  • Publicado : 1 de setembro de 2011
Ler documento completo
Amostra do texto
Algoritmo de ordenação em ciência da computação é um algoritmo que coloca os elementos de uma dada sequência em uma certa ordem -- em outras palavras, efetua sua ordenação completa ou parcial. As ordens mais usadas são a numérica e a lexicográfica.
Existem várias razões para se ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente.-------------------------------------------------
Métodos de ordenação de vetores
[editar]Métodos simples
* Insertion sort
* Selection sort
* Bubble sort
* Comb sort
[editar]Métodos sofisticados
* Quick sort
* Merge sort
* Heapsort
* Shell sort
* Radix sort
* Gnome sort
* Count sort
* Bogosort
* Bucket sort
* Cocktail sort
* Timsort-------------------------------------------------
[editar]Métodos de pesquisa
* Pesquisa binária
* Busca linear
* BogoBusca

Insertion sort, ou ordenação por inserção, é um simples algoritmo de ordenação, eficiente quando aplicado a um pequeno número de elementos. Em termos gerais, ele percorre um vetor de elementos da esquerda para a direita e à medida que avança vai deixando os elementos mais àesquerda ordenados. O algoritmo de inserção funciona da mesma maneira com que muitas pessoas ordenam cartas em um jogo de baralho como o pôquer
-------------------------------------------------
Características
* Menor número de trocas e comparações entre os algoritmos de ordenação O(n) quando o vetor está ordenado.
* Pior caso O(n²)
-------------------------------------------------[editar]Implementações
[editar]Pseudocódigo
Segue uma versão simples do pseudocódigo do algoritmo, com vetores começando em zero:
-------------------------------------------------
FUNCAO INSERTION_SORT (A[], tamanho)
-------------------------------------------------

-------------------------------------------------
VARIAVEIS-------------------------------------------------
var i, j, elemento;
-------------------------------------------------

-------------------------------------------------

-------------------------------------------------
PARA j <- 1 ATÉ tamanho FAÇA
-------------------------------------------------elemento <- A[j];
-------------------------------------------------
i <- j – 1;
-------------------------------------------------

-------------------------------------------------
ENQUANTO ((i >= 0) E (A[i] > elemento)) FAÇA-------------------------------------------------
A[i+1] <- A[i]
-------------------------------------------------
i <- i–1
-------------------------------------------------
A[i+1] <- elemento
-------------------------------------------------
FIM_ENQUANTO-------------------------------------------------

-------------------------------------------------
FIM_PARA
-------------------------------------------------

-------------------------------------------------
FIM
Java
-------------------------------------------------public static Integer[] insertionSort(Integer[] array)
-------------------------------------------------
{
-------------------------------------------------
for (int i = 1; i < array.length; i++)
-------------------------------------------------
{
-------------------------------------------------...
tracking img