Você está na página 1de 15

Ordenação

Ordenação

Os algoritmos trabalham sobre os registros de um arquivo; • Apenas uma parte do registro, chamada chave, é utilizada para controlar a ordenação; • Além da chave, podem existir outros componentes em um registro, os quais não têm influência no processo de ordenar, a não ser pelo fato de que permanecem com a mesma chave;

Notação

Dados os itens a 1 ,a 2 ,

Ordenar consiste em Permutar estes itens

,a

n

em uma ordem tal a k1 ,a k2 ,

,a

kn

Tal que, dada uma função de ordenação f, então:

f(a k1 )<=f(a k2 )<= f(a

kn )

Classificação dos métodos de Ordenação

1.Ordenação Interna O número de registros a ser ordenado é pequeno o bastante para que todo o processo se desenvolva na memória interna. Exemplo: cabe em um vetor.

2.

Ordenação Externa Arquivo a ser ordenado não cabe na memória principal e, por isso, tem que ser armazenado em disco.

Principais diferenças

Na ordenação interna, qualquer registro pode ser imediatamente acessado. Os dados são organizados na forma de vetores, onde cada dado é “visível”. • Na ordenação externa, os registros são acessados sequencialmente ou em grandes blocos. Os dados são organizados em arquivos, onde cada arquivo apenas o dado de cima é visível.

Classificação dos métodos de ordenação

Ordenação interna

Métodos simples ou diretos

Seleção • Inserção • Permutação ou Bublesort

Classificação dos métodos de ordenação

Métodos Eficientes ou sofisticados

Shellsort • Heapsort • Quicksort

Ordenação externa

Mergesort

Métodos simples ou diretos – São adequados para pequenos arquivos; – Produzem programas pequenos, fáceis de entender, ilustrando com simplicidade os princípios de ordenação por comparação; • Métodos Eficientes – São adequados para arquivos maiores; – Apesar de os métodos mais sofisticados usarem menos comparações, estas comparações são mais complexas nos detalhes, o que torna os métodos simples mais eficientes para pequenos arquivos.

Ordenação Interna

Algoritmos

Ordenação Bublesort -Bolha

É um algoritmo de ordenação dos mais simples; • A idéia é percorrer o vetor diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência

Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

Algoritmo

Percorra o vetor inteiro comparando elementos adjacentes (dois a dois); • Troque as posições dos elementos se eles estiverem fora da ordem; • Repita os dois passos acima com os primeiros n-1 itens, depois com os primeiros n-2 itens, até que reste apenas um item.

Exemplo

Exemplo 12

12

Ordenação por Seleção

Um dos algoritmos mais simples de ordenação. • Princípio de funcionamento:

Selecione o menor item do vetor; – Troque-o com o item que está na primeira posição do vetor. – Repita estas duas operações com os n-1 itens restantes, depois com os n-2 itens, até que reste apenas um elemento.

Exemplo

O

R

D

E

N

A

A

R

D

E

N

O

A

D

R

E

N

O

A

D

E

R

N

O

A

D

E

N

R

O

A

D

E

N

O

R

i=1

i=2

i=3

i=4

i=5

15