Algoritmos de Classificação de Tabelas - Sorting
A classificação de tabelas de dados é uma operação bastante usada em qualquer área da computação.
Os algoritmos de classificação estão dentre os algoritmos fundamentais. Operações em bancos de dados estruturados sempre precisam que os dados estejam numa determinada ordem para facilitar a sua
recuperação.
Existem várias formas de se classificar uma tabela. Veremos algumas delas. Vamos nos restringir a classificação interna, isto é, tabelas que estão na memória. A classificação externa, de arquivos, segue a mesma linha, com algumas adaptações para minimizar a quantidade de operações de entrada e saída.
Método sort() no Python
No Python uma tabela normalmente é uma lista.
A classificação de listas é uma operação bastante comum e o Python tem uma função pré-definida que realiza essa atividade. Alguns exemplos abaixo com essa função que classifica uma lista (sort).
Supondo:
lst = [ꞌmariaꞌ, ꞌanaꞌ, ꞌfernandoꞌ, ꞌantonioꞌ]
O comando lst.sort() devolve a lista lst classificada em ordem crescente.
lst = [ꞌanaꞌ, ꞌantonioꞌ, ꞌfernandoꞌ, ꞌmariaꞌ]
Outros exemplos:
lst.sort(reverse = True) – devolve a lista lst classificada em ordem decrescente. O valor default do parâmetro reverse é False.
lst.sort(key = func) – a função func define qual a chave de classificação. Veja o exemplo abaixo:
lst = [[ꞌmariaꞌ, 12], [ꞌanaꞌ, 23], [ꞌfernandoꞌ, 10], [ꞌantonioꞌ, 17]]
def func(elem):
return elem[1] # a chave é o segundo item do elemento Devolve:
lst = [[ꞌfernandoꞌ, 10], [ꞌmariaꞌ, 12], [ꞌantonioꞌ, 17], [ꞌanaꞌ, 23]]