SlideShare uma empresa Scribd logo
1 de 10
Ordenação por Contagem
 Algoritmo apresentado:
 Counting 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;
COUNTING SORT
 Aspecto Negativo:
 Necessita de dois vetores adicionais para sua
execução, utilizando, assim, mais espaço na
memória.
COUNTING SORT
 Funcionamento:
 A ordenação por contagem pressupõe que cada
um dos n elementos do vetor de entrada é um
inteiro entre 0 e k (k representa o maior inteiro
presente no vetor).
 A ideia 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.
ALGORITMO
COUNTING SORT
01 CountingSort(A, B, k)
02 for i0 to k
03 C[i] 0
04 for i1 to comprimento [A]
05 C[A[i]]++
06 for i1 to k
07 C[i] += C[i-1]
08 for i 0 to comprimento [A]
09 B[C[A[i]]-1] = A[i]
10 C[A[i]] -= 1
SIMULAÇÃO - COUNTING
SORT
O algoritmo recebe um vetor desordenado como entrada:
Em seguida, gera os vetores adicionais B e C:
 O vetor B é do mesmo tamanho do vetor A (8 elementos).
 O vetor C é do tamanho do maior elemento de A + 1 (5 + 1 = 6).
0 0 0 0 0 0C =
0 1 2 3 4 5
B =
0 1 2 3 4 5 6 7
2 5 3 0 2 3 0 3A =
0 1 2 3 4 5 6 7
SIMULAÇÃO - COUNTING
SORT
Se o valor de um elemento de entrada é i, incrementamos C[i]:
C[i] contém um número de elementos de entrada igual a i para
cada i = 0,1,2,...,k.
2 0 2 3 0 1C =
0 1 2 3 4 5
Agora fazemos C[i] = C[i] + C[i-1] para determinarmos quantos
elementos de entrada são menores que ou iguais a i, onde i inicia
com 1.
2 2 4 7 7 8C =
0 1 2 3 4 5
SIMULAÇÃO - COUNTING
SORT
Agora, partindo do menor para o maior índice, fazemos
B[C[A[i]] -1] = A[i] Assim, colocamos cada elemento A[i] em sua
Posição ordenada no vetor B:
Para i = 0
B[C[A[0]] -1]  B[C[2] -1]
B[4 -1]  B[3] = A[0]
B[3] = 2
Exemplo: 2 5 3 0 2 3 0 3A =
0 1 2 3 4 5 6 7
2 2 4 7 7 8C =
0 1 2 3 4 5
B =
0 1 2 3 4 5 6 7
SIMULAÇÃO - COUNTING
SORT
Em seguida decrementamos o valor de C[A[j]] toda vez que
Inserimos um valor no vetor B. isso faz com que o próximo
elemento de entrada com valor igual a A[j], se existir, vá para
a posição imediatamente anterior a A[j] no vetor B.
C[3] = C[3] – 1:
2 2 4 7 7 8C =
0 1 2 3 4 5
2 2 3 7 7 8C =
0 1 2 3 4 5
SIMULAÇÃO - COUNTING
SORT
Após as iterações de (comprimento de 0 até [k] ) temos o vetor de
saída B ordenado!!!
0 0 2 2 3 3 3 5B =
0 1 2 3 4 5 6 7

Mais conteúdo relacionado

Mais procurados

Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2ETEEPA
 
Arquivo 60
Arquivo 60Arquivo 60
Arquivo 60jwfb
 
Quadrados e cubos perfeitos
Quadrados e cubos perfeitosQuadrados e cubos perfeitos
Quadrados e cubos perfeitoscarol slides
 
calculadora
calculadoracalculadora
calculadoraIEFP
 
Numeros inteiros piramide para o slide
Numeros inteiros piramide para o slideNumeros inteiros piramide para o slide
Numeros inteiros piramide para o slideAdriano Augusto
 

Mais procurados (6)

Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2
 
Radiciação 8º
Radiciação   8ºRadiciação   8º
Radiciação 8º
 
Arquivo 60
Arquivo 60Arquivo 60
Arquivo 60
 
Quadrados e cubos perfeitos
Quadrados e cubos perfeitosQuadrados e cubos perfeitos
Quadrados e cubos perfeitos
 
calculadora
calculadoracalculadora
calculadora
 
Numeros inteiros piramide para o slide
Numeros inteiros piramide para o slideNumeros inteiros piramide para o slide
Numeros inteiros piramide para o slide
 

Destaque

Colegio josé maría velaz
Colegio josé maría velazColegio josé maría velaz
Colegio josé maría velazjoseyauca78
 
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...Alexandre Bento
 
Inclusão digital vilma
Inclusão digital   vilmaInclusão digital   vilma
Inclusão digital vilmadriminas
 
Sobremesas geladas
Sobremesas geladasSobremesas geladas
Sobremesas geladasAutonoma
 
Boletim Setembro/Outubro 2010
Boletim Setembro/Outubro 2010Boletim Setembro/Outubro 2010
Boletim Setembro/Outubro 2010cspego
 
Se eu não fosse professora de física. algumas reflexões sobre práticas letivas
Se eu não fosse professora de física. algumas reflexões sobre práticas letivasSe eu não fosse professora de física. algumas reflexões sobre práticas letivas
Se eu não fosse professora de física. algumas reflexões sobre práticas letivasRegina Gouveia
 
Acuña texto compilado cont ger revisado-18marzo2015
Acuña texto compilado cont ger revisado-18marzo2015Acuña texto compilado cont ger revisado-18marzo2015
Acuña texto compilado cont ger revisado-18marzo2015Cinthia Yovera
 
Decorar bolos
Decorar bolos Decorar bolos
Decorar bolos Autonoma
 
BRIGADEIRIA DA CRIS
BRIGADEIRIA DA CRIS BRIGADEIRIA DA CRIS
BRIGADEIRIA DA CRIS CAPSI
 
Relação entre corpo e novas tecnologias
Relação entre corpo e novas tecnologiasRelação entre corpo e novas tecnologias
Relação entre corpo e novas tecnologiasALCIONE
 
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010JEANS COLOMBIANO ROLLS CATALOGO JUL 2010
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010ecoproyecto11
 

Destaque (20)

Magnetismo terrestre
Magnetismo terrestreMagnetismo terrestre
Magnetismo terrestre
 
Um olhar para os nossos jovens...roberto crema
Um olhar para os nossos jovens...roberto cremaUm olhar para os nossos jovens...roberto crema
Um olhar para os nossos jovens...roberto crema
 
Colegio josé maría velaz
Colegio josé maría velazColegio josé maría velaz
Colegio josé maría velaz
 
O Mal das Fábricas de Animais
O Mal das Fábricas de AnimaisO Mal das Fábricas de Animais
O Mal das Fábricas de Animais
 
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...
Uma aplicação da tecnologia de coleta de dados na gestão de materiais no seto...
 
Arquivo 01
Arquivo 01Arquivo 01
Arquivo 01
 
Ley 28189
Ley 28189Ley 28189
Ley 28189
 
Inclusão digital vilma
Inclusão digital   vilmaInclusão digital   vilma
Inclusão digital vilma
 
Sobremesas geladas
Sobremesas geladasSobremesas geladas
Sobremesas geladas
 
Boletim Setembro/Outubro 2010
Boletim Setembro/Outubro 2010Boletim Setembro/Outubro 2010
Boletim Setembro/Outubro 2010
 
Se eu não fosse professora de física. algumas reflexões sobre práticas letivas
Se eu não fosse professora de física. algumas reflexões sobre práticas letivasSe eu não fosse professora de física. algumas reflexões sobre práticas letivas
Se eu não fosse professora de física. algumas reflexões sobre práticas letivas
 
Acuña texto compilado cont ger revisado-18marzo2015
Acuña texto compilado cont ger revisado-18marzo2015Acuña texto compilado cont ger revisado-18marzo2015
Acuña texto compilado cont ger revisado-18marzo2015
 
Decorar bolos
Decorar bolos Decorar bolos
Decorar bolos
 
BRIGADEIRIA DA CRIS
BRIGADEIRIA DA CRIS BRIGADEIRIA DA CRIS
BRIGADEIRIA DA CRIS
 
Dá para ganhar dinheiro com Software Livre?
Dá para ganhar dinheiro com Software Livre?Dá para ganhar dinheiro com Software Livre?
Dá para ganhar dinheiro com Software Livre?
 
Relação entre corpo e novas tecnologias
Relação entre corpo e novas tecnologiasRelação entre corpo e novas tecnologias
Relação entre corpo e novas tecnologias
 
Carta da Mulher Goiana
Carta da Mulher GoianaCarta da Mulher Goiana
Carta da Mulher Goiana
 
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010JEANS COLOMBIANO ROLLS CATALOGO JUL 2010
JEANS COLOMBIANO ROLLS CATALOGO JUL 2010
 
5 a restituição da liberdade 1
5 a restituição da liberdade 15 a restituição da liberdade 1
5 a restituição da liberdade 1
 
Expertise Thinkommunity - out 2013
Expertise   Thinkommunity - out 2013Expertise   Thinkommunity - out 2013
Expertise Thinkommunity - out 2013
 

Apresentacao countingsort

  • 1. Ordenação por Contagem  Algoritmo apresentado:  Counting Sort
  • 2. 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;
  • 3. COUNTING SORT  Aspecto Negativo:  Necessita de dois vetores adicionais para sua execução, utilizando, assim, mais espaço na memória.
  • 4. COUNTING SORT  Funcionamento:  A ordenação por contagem pressupõe que cada um dos n elementos do vetor de entrada é um inteiro entre 0 e k (k representa o maior inteiro presente no vetor).  A ideia 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.
  • 5. ALGORITMO COUNTING SORT 01 CountingSort(A, B, k) 02 for i0 to k 03 C[i] 0 04 for i1 to comprimento [A] 05 C[A[i]]++ 06 for i1 to k 07 C[i] += C[i-1] 08 for i 0 to comprimento [A] 09 B[C[A[i]]-1] = A[i] 10 C[A[i]] -= 1
  • 6. SIMULAÇÃO - COUNTING SORT O algoritmo recebe um vetor desordenado como entrada: Em seguida, gera os vetores adicionais B e C:  O vetor B é do mesmo tamanho do vetor A (8 elementos).  O vetor C é do tamanho do maior elemento de A + 1 (5 + 1 = 6). 0 0 0 0 0 0C = 0 1 2 3 4 5 B = 0 1 2 3 4 5 6 7 2 5 3 0 2 3 0 3A = 0 1 2 3 4 5 6 7
  • 7. SIMULAÇÃO - COUNTING SORT Se o valor de um elemento de entrada é i, incrementamos C[i]: C[i] contém um número de elementos de entrada igual a i para cada i = 0,1,2,...,k. 2 0 2 3 0 1C = 0 1 2 3 4 5 Agora fazemos C[i] = C[i] + C[i-1] para determinarmos quantos elementos de entrada são menores que ou iguais a i, onde i inicia com 1. 2 2 4 7 7 8C = 0 1 2 3 4 5
  • 8. SIMULAÇÃO - COUNTING SORT Agora, partindo do menor para o maior índice, fazemos B[C[A[i]] -1] = A[i] Assim, colocamos cada elemento A[i] em sua Posição ordenada no vetor B: Para i = 0 B[C[A[0]] -1]  B[C[2] -1] B[4 -1]  B[3] = A[0] B[3] = 2 Exemplo: 2 5 3 0 2 3 0 3A = 0 1 2 3 4 5 6 7 2 2 4 7 7 8C = 0 1 2 3 4 5 B = 0 1 2 3 4 5 6 7
  • 9. SIMULAÇÃO - COUNTING SORT Em seguida decrementamos o valor de C[A[j]] toda vez que Inserimos um valor no vetor B. isso faz com que o próximo elemento de entrada com valor igual a A[j], se existir, vá para a posição imediatamente anterior a A[j] no vetor B. C[3] = C[3] – 1: 2 2 4 7 7 8C = 0 1 2 3 4 5 2 2 3 7 7 8C = 0 1 2 3 4 5
  • 10. SIMULAÇÃO - COUNTING SORT Após as iterações de (comprimento de 0 até [k] ) temos o vetor de saída B ordenado!!! 0 0 2 2 3 3 3 5B = 0 1 2 3 4 5 6 7