Introdução à programação e aos algoritmos
8.3 Observações Finais
merge, que recebe as duas partes ordenadas e faz a intercalação entre as
mesmas.
Escreva uma função mergesort que receba uma lista e ordene-a segundo esse
algoritmo. Para a função de intercalação, use a que você criou no exercício
anterior. O algoritmo é o seguinte:
merge_sort(a)
se lista tem tamanho menor ou igual a 1 retorne a
m = tamanho de a dividido por 2
a0 = merge_sort(a[:m])
a1 = merge_sort(a[m:])
merge(ao,a1,a)
No algoritmo, a0 é a primeira metade da lista; a1 é a segunda metade e a é a
lista que guarda a intercalação das duas.
8.3 OBSERVAÇÕES FINAIS
Neste capítulo apenas abordei muito superficialmente o tema da ordenação. Quase sempre, ao tratar grandes volumes de dados, estes precisam ser ordenados ou de alguma forma indexados para podermos tratá-los adequadamente. O tema é vasto e existem diversos livros dedicados aos algoritmos utilizados para ordenar e suas vantagens e desvantagens. Espero que este capítulo possa estimulá-lo a buscar mais informação sobre a ordenação de dados. Visualizar os algoritmos com a ordenação de números é mais intuitivo, mas os algoritmos apresentados podem ser utilizados para ordenar qualquer tipo de informação.
OceanofPDF.com