A classificação é um arranjoobjetos em uma ordem específica, como decrescente ou crescente. Em geral, ordenar elementos é a manipulação de dados mais comum, o que torna mais fácil encontrar as informações de que você precisa no futuro. Esse é amplamente o caso de vários sistemas de gerenciamento de banco de dados. Os algoritmos de classificação existem atualmente em grande número, embora tenham características semelhantes (estágios): comparação e permutação de elementos em pares até que a sequência seja ordenada.
Os algoritmos de classificação podem ser classificados eminterno e externo. Os primeiros são caracterizados pelo fato de que todos os elementos ordenados estão localizados na RAM e é possível obter acesso aleatório a qualquer um deles. Este último pode trabalhar com dados localizados na memória externa (em arquivos). Esses elementos podem ser acessados sequencialmente.
É mais conveniente classificar os itens quando eles são encontradosem uma estrutura de matriz unidimensional. Cada um desses elementos possui um número sequencial e o elemento da matriz é acessado por índice. Os algoritmos de classificação, neste caso, são os mais simples e diretos de usar.
Considere um algoritmo de classificação interno pordescendo pelo método de bolha e sua versão melhorada, que difere no tempo gasto na classificação. O tipo de bolha na verdade tem uma variedade de nomes. Também é chamado de Método de classificação linear ou Método de classificação de seleção de troca. Mas, no entanto, não se trata do nome. Por que uma bolha? Uma vez na água, a bolha de ar vai flutuar, pois é mais leve. Portanto, por exemplo, a classificação em ordem crescente resultará no menor elemento.
Vamos considerar a primeira variante do algoritmo para classificar uma matriz usando o método de bolha. O algoritmo verbal para classificar uma matriz com o identificador mas e consistindo em N elementos é o seguinte:
1Substitua o primeiro elemento (mas [1]) pelo maior elemento da matriz. Para fazer isso, iremos compará-lo por sua vez com todos os elementos restantes (mas [2], mas [3] ... mas [N]). Se algum dos elementos restantes for maior que mas [1], você precisará trocá-los (por meio da variável buf adicional).
2. Tendo excluído o elemento mas [1] da consideração, repita a etapa 1 para o elemento mas [2].
3. Repita essas etapas para todos os elementos, exceto o último.
Implementação do algoritmo de classificação de bolhas na linguagem de programação Pascal:
Sobre a segunda opção (método melhoradobolha) podemos dizer que é um algoritmo de classificação rápida. Portanto, se você tentar usá-lo para classificar uma matriz já classificada, o algoritmo terminará seu trabalho após a primeira passagem pelos elementos da matriz. Isso significa que não perderemos os recursos de computação do sistema e tempo para comparação sem sentido de elementos.
Aqui está a implementação deste algoritmo de classificação para a linguagem de programação Pascal:
Portanto, algoritmos de classificação são um meio de ordenar sequências de dados. Ao escolher um algoritmo específico, você deve considerar os custos em termos de tempo e recursos do sistema.