51
Counting Sort Análise de Algoritmos Nome: Andrew Gama Nome: Rony Conde

Couting Sort

Embed Size (px)

DESCRIPTION

Funcionamento do Algoritmo Couting Sort

Citation preview

Page 1: Couting Sort

Counting Sort

Análise de Algoritmos

Nome: Andrew GamaNome: Rony Conde

Page 2: Couting Sort

Counting Sort Funcionamento:

A ordenação por contagem pressupõe que cada um dos n

elementos do vetor de entrada é um inteiro entre 1 e k (onde

k representa o maior inteiro presente no vetor).

A idéia básica é determinar, para cada elemento de entrada x,

o numero de elementos menores ou iguais a x. Com essa

informação é possível determinar exatamente onde o

elemento x será inserido.

Page 3: Couting Sort

Counting Sort Aspectos Positivos:

Ordena vetores em tempo linear para o tamanho do vetor inicial;

Não realiza comparações; É um algoritmo de ordenação estável;

Aspecto Negativo:

Necessita de dois vetores adicionais para sua execução, utilizando, assim, mais espaço na memória.

Page 4: Couting Sort

Counting Sort Complexidade:

O algoritmo não faz comparações entre elementos de A! Sua complexidade deve ser medida em função do número

das outras operações, aritméticas, atribuições, etc. Claramente, a complexidade de COUNTING-SORT é:

O(n + k). Quando k O(n), ele tem complexidade O(n).∈

Page 5: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

0 1 2 3 4

0 1 2 3 4 5 6 7

Array A

Array C

Array B

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

CountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

Page 6: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

0 0 00 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for Inicializar valores do Vetor C em 0.

A

C

B

Page 7: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

1 0 00 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

A

C

B

Page 8: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

1 0 01 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 9: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 0 01 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 10: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 01 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 11: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 02 00 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 12: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 02 10 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 13: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 02 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 14: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 03 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Contagem do numero de cada elemento do intervalo do Vetor A

Page 15: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 03 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Page 16: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 1 03 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

Realizar Complementos de casa de cada valor no Vetor C

A

C

B

Page 17: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 03 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 18: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 03 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 19: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 06 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 20: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 06 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 21: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 66 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 22: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 66 20 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 23: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 66 80 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Realizar Complementos de casa de cada valor no Vetor C

Page 24: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 66 80 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Page 25: Couting Sort

0 2 10 2 4 240 1 2 3 4 5 6 7

2 3 66-1 80 1 2 3 4

0 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

Alocar Valores no Vetor Ordenado (Vetor B)

A

C

B

Page 26: Couting Sort

0 2 10 2 4 40 1 2 3 4 5 6 7

2 3 65 80 1 2 3 4

20 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 27: Couting Sort

0 2 10 2 4 40 1 2 3 4 5 6 7

2 3 65 8-10 1 2 3 4

20 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 28: Couting Sort

0 2 10 2 40 1 2 3 4 5 6 7

2 3 65 70 1 2 3 4

2 40 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 29: Couting Sort

0 2 10 2 40 1 2 3 4 5 6 7

2 3 65 7-10 1 2 3 4

2 40 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 30: Couting Sort

0 2 10 20 1 2 3 4 5 6 7

2 3 65 60 1 2 3 4

2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 31: Couting Sort

0 2 10 20 1 2 3 4 5 6 7

2 3 65-1 60 1 2 3 4

2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 32: Couting Sort

0 2 100 1 2 3 4 5 6 7

2 3 64 60 1 2 3 4

2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Page 33: Couting Sort

0 2 100 1 2 3 4 5 6 7

2 3-1 64 60 1 2 3 4

2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 34: Couting Sort

0 2 00 1 2 3 4 5 6 7

2 2 64 60 1 2 3 4

1 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 35: Couting Sort

0 2 00 1 2 3 4 5 6 7

2-1 2 64 60 1 2 3 4

1 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 36: Couting Sort

0 20 1 2 3 4 5 6 7

1 2 64 60 1 2 3 4

0 1 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 37: Couting Sort

0 20 1 2 3 4 5 6 7

1 2 64-1 60 1 2 3 4

0 1 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 38: Couting Sort

00 1 2 3 4 5 6 7

1 2 63 60 1 2 3 4

0 21 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 39: Couting Sort

00 1 2 3 4 5 6 7

1-1 2 63 60 1 2 3 4

0 21 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 40: Couting Sort

0 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

0 0 21 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Alocar Valores no Vetor Ordenado (Vetor B)

Page 41: Couting Sort

0 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

0 0 21 2 2 440 1 2 3 4 5 6 7

Counting SortCountingSort (A, B, k)for i 0 to k do

C[i] 0;end for

for i 0 to k doC[A[j]] C[A[j]]+1;end for

for i 0 to k doC[i] C[i]+C[i-1]; end for

for j n downto 1 do B[C[A[j]]] A[j]; C[A[j]] C[A[j]]-1; end for

A

C

B

Page 42: Couting Sort

00 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

0 21 2 2 440 1 2 3 4 5 6 7

A

C

B

Counting Sort

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 43: Couting Sort

0 00 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

21 2 2 440 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 44: Couting Sort

0 0 10 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

2 2 2 440 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 45: Couting Sort

0 0 210 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

2 2 440 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 46: Couting Sort

0 0 21 20 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

2 440 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 47: Couting Sort

0 0 21 2 20 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

440 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 48: Couting Sort

0 0 21 2 2 40 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

40 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 49: Couting Sort

0 0 21 2 2 440 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

0 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 50: Couting Sort

0 0 21 2 2 440 1 2 3 4 5 6 7

0 2 63 60 1 2 3 4

0 1 2 3 4 5 6 7

Counting Sort

A

C

B

Passar Conteúdo do Vetor B, para o Original (Vetor A)

Page 51: Couting Sort

Implementação Counting Sort