O que é a matriz de arrays?
A ordenação de matrizes é o processo de pegar os elementos individuais de uma matriz e organizá-los em algum tipo de ordem lógica, de acordo com uma série de regras definidas pelo usuário. O processo envolve percorrer a matriz, um elemento de cada vez, e testar esse elemento em relação aos elementos circundantes para determinar se ele precisa ser movido para outro índice dentro da matriz. Ao executar a classificação de matriz, existem vários algoritmos que podem ser usados, especialmente quando as condições de classificação são numéricas em oposição a algo mais arbitrário. A maioria dos algoritmos de classificação de array é medida por sua velocidade e eficiência, sendo os algoritmos mais lentos os mais fáceis de programar e os mais rápidos, muito mais complexos.
O algoritmo de classificação de matriz mais simples é chamado de classificação de bolha e também é o mais lento. O processo começa com um loop que percorre cada elemento da matriz. O elemento atual é comparado ao próximo elemento na matriz e, se o próximo elemento tiver um valor menor que o elemento atual, os dados nos índices serão alternados. A desvantagem de uma classificação de bolha é que ela precisa percorrer a matriz várias vezes para fazer todos os swaps necessários para classificar a matriz. Nas implementações mais básicas, a classificação percorrerá toda a matriz uma vez para cada elemento que ela contém.
Uma classificação de seleção usa um algoritmo que executa a classificação de matriz de uma maneira um pouco mais eficiente que uma classificação de bolha, mas ainda exige várias iterações na matriz. Essa classificação começa fazendo um loop pela matriz para encontrar o elemento de menor valor. Este elemento é então colocado no primeiro índice da matriz e algumas variáveis de rastreamento são incrementadas. O ciclo se repete, agora procurando o próximo valor mais baixo que será colocado no segundo índice da matriz. O processo continua até que o elemento de maior valor seja colocado no último índice da matriz.
Um método de classificação de matriz que pode ser eficiente, mas às vezes complexo de implementar, é conhecido como uma classificação rápida. A classificação rápida envolve a obtenção de um valor que esteja no meio de todos os valores possíveis mantidos na matriz. O algoritmo percorre todos os elementos da matriz e coloca todos os valores maiores que o número mediano no final da matriz e os valores mais baixos no início. Esse processo é executado recursivamente em blocos da matriz até que, no final, toda a matriz seja classificada. Supondo que o valor do meio usado para a matriz seja bastante preciso, essa pode ser uma maneira muito rápida de classificar.
Um fator que pode afetar um algoritmo de classificação de matriz é o meio pelo qual os dados são testados quanto à equivalência. É fácil comparar números simples para qual valor é maior, mas pode não ser o caso para classes de dados complexas nas quais várias condições precisam ser comparadas. Quanto mais tempo para comparar se um elemento é maior ou menor que outro, mais tempo será necessário para o algoritmo classificar a matriz.