bucket sort
CENTRO DE CIENCIAS EXATAS
DEPARTAMENTO DE INFORMATICA
ALGORITIMOS DE ORDENACAO
MARINGÁ, 08 DE SETEMBRO DE 2015
INTRODUÇÃO
Os algoritmos de ordenação ou classificação constituem uma classe de algoritmos extremamente estudada e muito popular. Seu estudo é parte vital de praticamente todo curso na área da Computação e tem aplicações práticas no dia-a-dia. Em diversas aplicações a ordenação é uma das etapas, dentre muitas outras a serem efetuadas, de modo que selecionar o melhor algoritmo de ordenação é extremamente importante nestes casos. Em busca em índices previamente ordenados, por exemplo, é a maneira mais eficiente de busca por um elemento qualquer de uma coleção. Uma sequencia previamente ordenada tem aplicação prática na resolução dos seguintes problemas: busca, par mais próximo (dado uma sequencia de números), unicidade de elementos, distribuição de frequência, etc. Estudar a complexidade de um algoritmo é determinar o custo computacional (tempo ou espaço) para a execução deste algoritmo. Basicamente podemos fazer este estudo por duas vias: através da teoria da Complexidade Computacional, que envolve o estudo de classes inteiras de algoritmos, usando uma metodologia mais genérica, ou através da Análise de Algoritmos. A análise de algoritmos é a área de ciência da computação que se preocupa em determinar a complexidade (custos de tempo da cpu ou de memória) de um determinado algoritmo e uma determinada implementação. Este tipo de análise foi popularizado por Donald E. Knuth nos seus livros da séries ”The Art Of Computer Programming”. Diversos algoritmos de ordenação já foram propostos ao longo da história e muitos resultados já foram encontrados, estabelecendo, por exemplo, limites inferiores para a complexidade de tempo de um algoritmo de ordenação.
- Métodos de ordenacão interna: Métodos simples : Insertion, Selection