Classificação de Dados
Classificação de dados é o processo pelo qual é determinada a ordem na qual devem se apresentar as entradas de uma tabela, de modo que obedeçam à seqüência ditada por um ou mais de seus campos (chave). Estes campos são chamados de chave de classificação ou de ordenação.
Classificação Interna e Externa
O processo de classificação interna de um conjunto de dados se dá quando este conjunto é inteiramente contido na memória principal. Já a classificação dos dados não armazenada inteiramente na memória é chamada de classificação externa.
Métodos de Classificação Interna
Classificação por Inserção
Classificação por Troca
Classificação por Seleção
Classificação por Intercalação
Classificação por Distribuição
Classificação por Inserção
A principal característica desses métodos é que eles executam a ordenação pela inserção de cada uma das chaves em sua posição correta na tabela.
Inserção Direta
É o mais simples dos métodos de classificação por inserção. O seu uso somente se justifica quando se trata de pequenos conjuntos de dados, em razão de seu baixo desempenho.
Algoritmo Inserção Direta
proc inserção_direta(inteiro c[N])
inicio
inteiro i, j, k, ch
para i de 2 até N faça
inicio
k = 1
j = i-1
ch = c[i]
enquanto (j≥1) e (k=1) faça
se ch < c[ j] então
inicio
c[j+1] = c[j]
j = j -1
fim
senão
k = j+1
c[k] = ch
fim
fim
Classificação por Troca
Estes métodos se caracterizam por realizarem a classificação por comparação sucessiva de pares de elementos, trocando-os de posição caso estejam fora da ordem de classificação.
Método da Bolha (Bubble Sort)
É dos mais simples dos métodos de classificação por troca. A cada passo, cada chave é comparada com seu sucessor, havendo a troca de posição entre as duas caso estejam fora de ordem de ordenação. São executados passos sucessivos até que não ocorram mais trocas, neste caso, os elementos estarão ordenados.
Algoritmo Bolha
proc bolha(inteiro c[N])
inicio
inteiro i, k, m, ch
lógico troca
troca = v
m = N-1
enquanto troca = v faça
inicio
troca = f
para i de 1 até m faça[pic 1]