SlideShare une entreprise Scribd logo
1  sur  15
Discentes: Eduardo Dal Molin Kleber Berhend Willian (ED) Métodos  de Ordenação
Definição de Merge Sort!!  ,[object Object],[object Object]
Exemplo de Merge Sort 38 16 27 27 12 39 27 38 16 27 39 12 38 16 27 39 12 27 38 16 39 12 38 16 39 12 38 16 27 39 12 27 12 16 27 27 38 39 Chamada recursiva ao Merge Sort Passos do Merge Sort
Vantagens e Desvantagens
Complexidade ,[object Object]
Implementação em C Void merge (int M[5o], int inicio, int fim) { int meio; comparações[3]++; if (inicio < fim) { meio = ((inicio + fim)/2); merge (M, inicio, meio); merge (M, meio+1, fim); intercala (M, inicio, meio, fim); } }
void intercala (int M[50], int inicio, int fim) { int primeiro, res, segundo, k; int C[]50; primeiro = res = inicio; segundo = meio + 1; while (primeiro <= meio && segundo <= fim) { comparacoes[3]++; if (M[primeiro] <= M[segundo]) { atribuicoes [3]++; C[res]= M[primeiro]; primeiro++; }
else { atribuicoes[3]++; C[res] = M[segundo]; segundo++; } res++; } comparacoes[3]++; if (primeiro > meio) for (k=segundo; k<=meio; k++) { atribuicoes[3]++; C[res] = M[k]; res++; }
else for (k=primeiro; k<=meio; k++) { atribuicoes[3]++; C[res] = M[k]; res++; } for (k=inicio; k<=fim; k++) M[k] = C[k]; }
BIN SORT
Idéia Geral ,[object Object]
Exemplo 3 2 1 3 3 2 -1 2 3 -1 -1 1 -1 -1 -1 1 2 3 Aux[2] Aux[1] Aux[0] X[2] X[1] X[0] Varredura
Tempo De Execução ,[object Object]
Implementação #define n ‘k’-’a’ +1; Void binsort(apitem *lista , int size){ apitem v[n]; for(i = 0; i <  n; i ++)  v[i] = NULL; for(i = size - 1; i > = 0; i --){ while((p = removefirst(lista))!= NULL) insert (p ,&v[p -> info[i] – ‘a’); for(j = 0;j > n; j ++) concat(lista,&v[j]); } }
.  (próximo slide).   FIM DO THE END

Contenu connexe

Tendances (19)

1 dízimas periódicas (1)
1   dízimas periódicas (1)1   dízimas periódicas (1)
1 dízimas periódicas (1)
 
1 gabarito 7ªa e 8
1 gabarito 7ªa e 81 gabarito 7ªa e 8
1 gabarito 7ªa e 8
 
Algebra linear
Algebra linearAlgebra linear
Algebra linear
 
Conjuntos numéricos
Conjuntos numéricosConjuntos numéricos
Conjuntos numéricos
 
Lista 4
Lista 4Lista 4
Lista 4
 
Actividad de números enteros
Actividad de números enterosActividad de números enteros
Actividad de números enteros
 
Simulado Geometria Analítica Plana: Retas
Simulado Geometria Analítica Plana: RetasSimulado Geometria Analítica Plana: Retas
Simulado Geometria Analítica Plana: Retas
 
Trigonometria lista 3
Trigonometria   lista 3Trigonometria   lista 3
Trigonometria lista 3
 
Expressões Numéricas com Expoentes
Expressões Numéricas com ExpoentesExpressões Numéricas com Expoentes
Expressões Numéricas com Expoentes
 
1 exercícios de potenciação
1  exercícios de potenciação1  exercícios de potenciação
1 exercícios de potenciação
 
1 exercícios de potenciação
1  exercícios de potenciação1  exercícios de potenciação
1 exercícios de potenciação
 
Circunferência - posições relativas
Circunferência - posições relativasCircunferência - posições relativas
Circunferência - posições relativas
 
Estudo Dos Intervalos
Estudo Dos IntervalosEstudo Dos Intervalos
Estudo Dos Intervalos
 
15022014
1502201415022014
15022014
 
Estudo AnalíTico Da CircunferêNcia
Estudo AnalíTico Da CircunferêNciaEstudo AnalíTico Da CircunferêNcia
Estudo AnalíTico Da CircunferêNcia
 
Estudo dos intervalos
Estudo dos intervalosEstudo dos intervalos
Estudo dos intervalos
 
Discreta1
Discreta1Discreta1
Discreta1
 
Cord.polares
Cord.polaresCord.polares
Cord.polares
 
1 gabarito 7ªa e 8
1 gabarito 7ªa e 81 gabarito 7ªa e 8
1 gabarito 7ªa e 8
 

Similaire à Merge Sort e Bin Sort

Introdução ao MATLAB
Introdução ao MATLABIntrodução ao MATLAB
Introdução ao MATLABCaioTelefonica
 
Apostila matemática básica 2
Apostila matemática básica 2Apostila matemática básica 2
Apostila matemática básica 2waynemarques
 
19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracaoRicardo Bolanho
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelasRicardo Bolanho
 
Apostila eja-matematica-basica-medio-2012
Apostila eja-matematica-basica-medio-2012Apostila eja-matematica-basica-medio-2012
Apostila eja-matematica-basica-medio-2012Marciano Santos
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesRADILSON RIPARDO DE FRETIAS
 

Similaire à Merge Sort e Bin Sort (15)

Algorítimo de ordenação
Algorítimo de ordenaçãoAlgorítimo de ordenação
Algorítimo de ordenação
 
Tdc2010
Tdc2010Tdc2010
Tdc2010
 
Aula 5
Aula 5 Aula 5
Aula 5
 
Matematica
MatematicaMatematica
Matematica
 
Matematica eja
Matematica ejaMatematica eja
Matematica eja
 
Introdução ao MATLAB
Introdução ao MATLABIntrodução ao MATLAB
Introdução ao MATLAB
 
Apostila matemática básica 2
Apostila matemática básica 2Apostila matemática básica 2
Apostila matemática básica 2
 
19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracao
 
Apostila revisao de matematica
Apostila    revisao de matematicaApostila    revisao de matematica
Apostila revisao de matematica
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelas
 
9 structs e ponteiros
9   structs e ponteiros9   structs e ponteiros
9 structs e ponteiros
 
Apostila eja-matematica-basica-medio-2012
Apostila eja-matematica-basica-medio-2012Apostila eja-matematica-basica-medio-2012
Apostila eja-matematica-basica-medio-2012
 
7 slides
7 slides7 slides
7 slides
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 

Merge Sort e Bin Sort

  • 1. Discentes: Eduardo Dal Molin Kleber Berhend Willian (ED) Métodos de Ordenação
  • 2.
  • 3. Exemplo de Merge Sort 38 16 27 27 12 39 27 38 16 27 39 12 38 16 27 39 12 27 38 16 39 12 38 16 39 12 38 16 27 39 12 27 12 16 27 27 38 39 Chamada recursiva ao Merge Sort Passos do Merge Sort
  • 5.
  • 6. Implementação em C Void merge (int M[5o], int inicio, int fim) { int meio; comparações[3]++; if (inicio < fim) { meio = ((inicio + fim)/2); merge (M, inicio, meio); merge (M, meio+1, fim); intercala (M, inicio, meio, fim); } }
  • 7. void intercala (int M[50], int inicio, int fim) { int primeiro, res, segundo, k; int C[]50; primeiro = res = inicio; segundo = meio + 1; while (primeiro <= meio && segundo <= fim) { comparacoes[3]++; if (M[primeiro] <= M[segundo]) { atribuicoes [3]++; C[res]= M[primeiro]; primeiro++; }
  • 8. else { atribuicoes[3]++; C[res] = M[segundo]; segundo++; } res++; } comparacoes[3]++; if (primeiro > meio) for (k=segundo; k<=meio; k++) { atribuicoes[3]++; C[res] = M[k]; res++; }
  • 9. else for (k=primeiro; k<=meio; k++) { atribuicoes[3]++; C[res] = M[k]; res++; } for (k=inicio; k<=fim; k++) M[k] = C[k]; }
  • 11.
  • 12. Exemplo 3 2 1 3 3 2 -1 2 3 -1 -1 1 -1 -1 -1 1 2 3 Aux[2] Aux[1] Aux[0] X[2] X[1] X[0] Varredura
  • 13.
  • 14. Implementação #define n ‘k’-’a’ +1; Void binsort(apitem *lista , int size){ apitem v[n]; for(i = 0; i < n; i ++) v[i] = NULL; for(i = size - 1; i > = 0; i --){ while((p = removefirst(lista))!= NULL) insert (p ,&v[p -> info[i] – ‘a’); for(j = 0;j > n; j ++) concat(lista,&v[j]); } }
  • 15. . (próximo slide). FIM DO THE END