IF672 - Algoritmos e Estruturas de Dados
novembro 2002 a março 2003

Lista 4

Antes de fazer estes exercícios, leia sobre algoritmos de Ordenação

1. (Estude as páginas 159 a 163 do livro de Sara Baase.)

Implemente o algoritmo Quicksort visto em sala para ordenar um conjunto A de números naturais dado.

ENTRADA:
n, a quantidade de elementos no conjunto A, e
A, os elementos do conjunto a serem ordenados.

SAÍDA:
Os elementos do array A na ordem em que aparecem ao final de cada execução do procedimento que particiona um array em duas partes.

ATENÇÃO:
Existem vários modos de implementar este algoritmo. Certifique-se de implementar o algoritmo como foi visto em sala de aula.

2. (Estude as páginas 171 a 175 do livro de Sara Baase.
As partes referentes a complexidade podem ser ignoradas.)

Implemente o algoritmo Mergesort para ordenar um conjunto A de números naturais dado.

ENTRADA:
n, a quantidade de elementos no conjunto A, e
A, os elementos do conjunto a serem ordenados.

SAÍDA:
Os elementos do array A na ordem em que aparecem ao final de cada execução (inclusive as recursivas) do procedimento Mergesort.