O que é : External Sorting

O que é External Sorting?

O External Sorting, também conhecido como ordenação externa, é um algoritmo utilizado para ordenar grandes quantidades de dados que não podem ser acomodados na memória principal de um computador. Ele é especialmente útil quando se trabalha com arquivos de tamanho superior à capacidade da RAM disponível.

Como funciona o External Sorting?

O processo de ordenação externa envolve a divisão dos dados em blocos menores que podem ser acomodados na memória principal. Esses blocos são então ordenados individualmente e gravados em um arquivo temporário no disco. Em seguida, os blocos são mesclados em pares, criando blocos maiores e ordenados. Esse processo é repetido até que todos os blocos sejam mesclados em um único bloco, que será o arquivo final ordenado.

Quais são as etapas do External Sorting?

O External Sorting pode ser dividido em várias etapas:

1. Divisão dos dados:

Nesta etapa, os dados são divididos em blocos menores que podem ser acomodados na memória principal. Esses blocos são geralmente chamados de runs.

2. Ordenação dos blocos:

Cada bloco é ordenado individualmente utilizando um algoritmo de ordenação interna, como o Quicksort ou o Mergesort. Essa ordenação é realizada na memória principal.

3. Gravação dos blocos ordenados:

Os blocos ordenados são gravados em arquivos temporários no disco. Cada bloco é gravado em um arquivo separado.

4. Mesclagem dos blocos:

Os blocos ordenados são mesclados em pares, criando blocos maiores e ordenados. Essa mesclagem é realizada no disco, utilizando uma estratégia de mesclagem externa.

5. Repetição da mesclagem:

O processo de mesclagem é repetido até que todos os blocos sejam mesclados em um único bloco, que será o arquivo final ordenado.

Quais são as vantagens do External Sorting?

O External Sorting apresenta várias vantagens em relação aos algoritmos de ordenação interna:

1. Eficiência na ordenação de grandes volumes de dados:

O External Sorting é especialmente eficiente na ordenação de grandes quantidades de dados que não podem ser acomodados na memória principal. Ele permite que a ordenação seja realizada utilizando o disco como uma extensão da memória, o que aumenta significativamente a capacidade de processamento.

2. Utilização otimizada dos recursos:

O External Sorting utiliza de forma eficiente os recursos disponíveis, como a memória principal e o disco. Ele permite que os dados sejam lidos e gravados em blocos menores, reduzindo a quantidade de operações de I/O necessárias.

3. Flexibilidade:

O External Sorting é flexível e pode ser adaptado para diferentes tamanhos de dados e configurações de hardware. Ele pode ser utilizado em sistemas com diferentes capacidades de memória e disco.

Conclusão

O External Sorting é um algoritmo eficiente e flexível para ordenar grandes volumes de dados que não podem ser acomodados na memória principal. Ele utiliza o disco como uma extensão da memória, permitindo a ordenação de forma eficiente e otimizada. O processo de ordenação externa envolve a divisão dos dados em blocos menores, a ordenação individual desses blocos, a gravação dos blocos ordenados em arquivos temporários e a mesclagem dos blocos até que todos sejam mesclados em um único bloco ordenado. O External Sorting apresenta vantagens como a eficiência na ordenação de grandes volumes de dados, a utilização otimizada dos recursos e a flexibilidade para diferentes configurações de hardware.

Scroll to Top