SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
/**
* Método merge sort, ou ordenação por intercalação, é um exemplo de algoritmo
* de ordenação do tipo dividir-para-conquistar. Sua idéia básica é que é muito
* fácil criar uma sequência ordenada a partir de duas outras também ordenadas.
* Para isso, ele divide a sequência original em pares de dados, ordena-as;
* depois as agrupa em sequências de quatro elementos, e assim por diante,
* até ter toda a sequência dividida em apenas duas partes. O método MergeSort
* rearranja o vetor v[BeginList..EndList-1] em ordem crescente.
**/
void SortingAlgorithms::MergeSort(ElementVector& ev, int BeginList, int EndList)
{
if (BeginList < EndList -1)
{
int middle = (BeginList + EndList)/2;
MergeSort(ev, BeginList, middle);
MergeSort(ev, middle, EndList);
Merges(ev, BeginList, middle, EndList);
}
}
/**
* Método auxiliar ao MergeSort que executa a intercalação das listas.
* O método recebe vetores crescentes v[BeginList..Middle-1] e
* v[Middle..EndList-1] e rearranja v[BeginList..EndList-1] em ordem crescente.
**/
void SortingAlgorithms::Merges(ElementVector & ev, int BeginList, int Middle, int
EndList)
{
int i, j, k;
ElementVector w;
//Executa um resize na lista de elementos auxiliar alocando o necessário para a
//intercalação dos elementos.
w.resize(EndList - BeginList);
//Estabelecendo os limites para a intercalação
i = BeginList; j = Middle; k = 0;
//Verifica quem deve ser intercalado
while( i < Middle && j < EndList)
{
if (ev[i] <= ev[j]) w[k++] = ev[i++];
else w[k++] = ev[j++];
}
//Executa as intercalações finais.
while(i < Middle) { w[k++] = ev[i++]; }
while(j < EndList) { w[k++] = ev[j++]; }
//Copia a lista auxiliar para a lista original
for( i = BeginList; i < EndList; ++i)
{
ev[i] = w[i-BeginList];
}
//Limpa a lista auxiliar ...
w.clear();
}
/**
* Método de Ordenação QuickSort é um método de ordenação muito rápido e
* eficiente, inventado por C.A.R. Hoare em 1960. O Quicksort é um algoritmo
* de ordenação não-estável que adota a estratégia de divisão e conquista,
* podendo sofrer degeneração no melhor caso e caso médio [nlogn] para o pior
* caso [n^2]. Essa implementação pode ser encontrada no livro de Sedgewick.
* O método rearranja o vetor v[p..r], com p <= r+1, de modo que ele fique
* em ordem crescente. Esse método não se utiliza de um particionador explicito
* e o pivô de verificação sempre é dado por um elemento central.
**/
void SortingAlgorithms::QuickSort(ElementVector& ev, int BeginList, int EndList)
{
int i , j;
Element c, t;
if (BeginList < EndList)
{
c = ev[(BeginList + EndList) / 2];
i = BeginList; j = EndList;
while (i <= j)
{
while (ev[i] < c) { ++i; }
while (c < ev[j]) { --j; }
if (i <= j)
{
t = ev[i], ev[i] = ev[j], ev[j] = t;
++i, --j;
}
}
//Segmento onde ocorre a chamada recursiva ao método
QuickSort(ev, BeginList, j);
QuickSort(ev, i, EndList);
}
}
/**
* Método de ordenação quick sort que utiliza uma função de particionamento
* da lista de elementos. Esse método utiliza um particionador explícito
* porém seu pivo de verificação não é um elemento central previamente definido
* e sim elementos que se encontram mais a esquerda de cada partição definida.
**/
void SortingAlgorithms::QSort(ElementVector& ev, int left, int right)
{
int new_right;
if (right > left)
{
new_right = Partition(ev, left, right);
QSort(ev,left, new_right - 1);
QSort(ev,new_right + 1,right);
}
return;
}
/**
* Método auxiliar ao QSort que executa particionamento da lista de elementos.
**/
int SortingAlgorithms::Partition(ElementVector& ev, int left, int right)
{
register int i, j;
i = left;
for (j = left + 1; j <= right; j++)
{
if (ev[j] < ev[left])
{
++i; ev.swap(i,j);
}
}
//O elemento do limite da partição é trocado com o pivô. Necessariamente isso
//é apenas uma reatribuição quando a lista já se encontra ordenada.
ev.swap(left,i);
return i;
}

Mais conteúdo relacionado

Destaque

Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeDelacyr Ferreira
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaDelacyr Ferreira
 
Area Profiles
Area ProfilesArea Profiles
Area Profileschouwinn
 
TAREA DE ESTÉTICA UASB-GALO SILVA
TAREA DE ESTÉTICA UASB-GALO SILVATAREA DE ESTÉTICA UASB-GALO SILVA
TAREA DE ESTÉTICA UASB-GALO SILVADR. GALO SILVA BORJA
 
Presentación ventajas y desventajas de las redes sociales
Presentación ventajas y desventajas de las redes socialesPresentación ventajas y desventajas de las redes sociales
Presentación ventajas y desventajas de las redes socialesPierrette Amador
 
(Apresentação 8º salão de ensino ufrgs - 02-10-2012 - revisado)
(Apresentação   8º salão de ensino ufrgs - 02-10-2012 - revisado)(Apresentação   8º salão de ensino ufrgs - 02-10-2012 - revisado)
(Apresentação 8º salão de ensino ufrgs - 02-10-2012 - revisado)Educação Online e em Rede
 
Reconocimiento 100412 114
Reconocimiento 100412 114Reconocimiento 100412 114
Reconocimiento 100412 114AMILENAM
 
Apresentação abertura emeem leandro diniz
Apresentação abertura emeem   leandro dinizApresentação abertura emeem   leandro diniz
Apresentação abertura emeem leandro dinizEMFoco
 
Introduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IIntroduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IMichel Alves
 
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศ
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศการศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศ
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศmoopui
 
Miniquest: a nutrición
Miniquest: a nutriciónMiniquest: a nutrición
Miniquest: a nutriciónoicorojuara
 

Destaque (20)

Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Area Profiles
Area ProfilesArea Profiles
Area Profiles
 
TAREA DE ESTÉTICA UASB-GALO SILVA
TAREA DE ESTÉTICA UASB-GALO SILVATAREA DE ESTÉTICA UASB-GALO SILVA
TAREA DE ESTÉTICA UASB-GALO SILVA
 
Mi album
Mi albumMi album
Mi album
 
Presentación ventajas y desventajas de las redes sociales
Presentación ventajas y desventajas de las redes socialesPresentación ventajas y desventajas de las redes sociales
Presentación ventajas y desventajas de las redes sociales
 
(Apresentação 8º salão de ensino ufrgs - 02-10-2012 - revisado)
(Apresentação   8º salão de ensino ufrgs - 02-10-2012 - revisado)(Apresentação   8º salão de ensino ufrgs - 02-10-2012 - revisado)
(Apresentação 8º salão de ensino ufrgs - 02-10-2012 - revisado)
 
203 caminhar
203 caminhar203 caminhar
203 caminhar
 
SOCIOLOGÍA
SOCIOLOGÍASOCIOLOGÍA
SOCIOLOGÍA
 
Reconocimiento 100412 114
Reconocimiento 100412 114Reconocimiento 100412 114
Reconocimiento 100412 114
 
Usuarios mas activos de las redes sociales
Usuarios mas activos de las redes socialesUsuarios mas activos de las redes sociales
Usuarios mas activos de las redes sociales
 
Apresentação abertura emeem leandro diniz
Apresentação abertura emeem   leandro dinizApresentação abertura emeem   leandro diniz
Apresentação abertura emeem leandro diniz
 
Introduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IIntroduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part I
 
Tarea5 vilma
Tarea5  vilmaTarea5  vilma
Tarea5 vilma
 
Alice
AliceAlice
Alice
 
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศ
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศการศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศ
การศึกษารายกรณีโดยการบูรณาการเทคโนโลยีในชั้นเรียนภาษาอังกฤษในฐานะภาษาต่างประเทศ
 
Mañe
MañeMañe
Mañe
 
Miniquest: a nutrición
Miniquest: a nutriciónMiniquest: a nutrición
Miniquest: a nutrición
 
Hardware y software
Hardware y softwareHardware y software
Hardware y software
 
Novo CâNtico
Novo CâNticoNovo CâNtico
Novo CâNtico
 

Mais de Michel Alves

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseMichel Alves
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesMichel Alves
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresMichel Alves
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesMichel Alves
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationMichel Alves
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogMichel Alves
 

Mais de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 

Merge Sort: dividir para ordenar

  • 1. /** * Método merge sort, ou ordenação por intercalação, é um exemplo de algoritmo * de ordenação do tipo dividir-para-conquistar. Sua idéia básica é que é muito * fácil criar uma sequência ordenada a partir de duas outras também ordenadas. * Para isso, ele divide a sequência original em pares de dados, ordena-as; * depois as agrupa em sequências de quatro elementos, e assim por diante, * até ter toda a sequência dividida em apenas duas partes. O método MergeSort * rearranja o vetor v[BeginList..EndList-1] em ordem crescente. **/ void SortingAlgorithms::MergeSort(ElementVector& ev, int BeginList, int EndList) { if (BeginList < EndList -1) { int middle = (BeginList + EndList)/2; MergeSort(ev, BeginList, middle); MergeSort(ev, middle, EndList); Merges(ev, BeginList, middle, EndList); } } /** * Método auxiliar ao MergeSort que executa a intercalação das listas. * O método recebe vetores crescentes v[BeginList..Middle-1] e * v[Middle..EndList-1] e rearranja v[BeginList..EndList-1] em ordem crescente. **/ void SortingAlgorithms::Merges(ElementVector & ev, int BeginList, int Middle, int EndList) { int i, j, k; ElementVector w; //Executa um resize na lista de elementos auxiliar alocando o necessário para a //intercalação dos elementos. w.resize(EndList - BeginList); //Estabelecendo os limites para a intercalação i = BeginList; j = Middle; k = 0; //Verifica quem deve ser intercalado while( i < Middle && j < EndList) { if (ev[i] <= ev[j]) w[k++] = ev[i++]; else w[k++] = ev[j++]; } //Executa as intercalações finais. while(i < Middle) { w[k++] = ev[i++]; } while(j < EndList) { w[k++] = ev[j++]; } //Copia a lista auxiliar para a lista original for( i = BeginList; i < EndList; ++i) { ev[i] = w[i-BeginList]; } //Limpa a lista auxiliar ... w.clear(); }
  • 2. /** * Método de Ordenação QuickSort é um método de ordenação muito rápido e * eficiente, inventado por C.A.R. Hoare em 1960. O Quicksort é um algoritmo * de ordenação não-estável que adota a estratégia de divisão e conquista, * podendo sofrer degeneração no melhor caso e caso médio [nlogn] para o pior * caso [n^2]. Essa implementação pode ser encontrada no livro de Sedgewick. * O método rearranja o vetor v[p..r], com p <= r+1, de modo que ele fique * em ordem crescente. Esse método não se utiliza de um particionador explicito * e o pivô de verificação sempre é dado por um elemento central. **/ void SortingAlgorithms::QuickSort(ElementVector& ev, int BeginList, int EndList) { int i , j; Element c, t; if (BeginList < EndList) { c = ev[(BeginList + EndList) / 2]; i = BeginList; j = EndList; while (i <= j) { while (ev[i] < c) { ++i; } while (c < ev[j]) { --j; } if (i <= j) { t = ev[i], ev[i] = ev[j], ev[j] = t; ++i, --j; } } //Segmento onde ocorre a chamada recursiva ao método QuickSort(ev, BeginList, j); QuickSort(ev, i, EndList); } }
  • 3. /** * Método de ordenação quick sort que utiliza uma função de particionamento * da lista de elementos. Esse método utiliza um particionador explícito * porém seu pivo de verificação não é um elemento central previamente definido * e sim elementos que se encontram mais a esquerda de cada partição definida. **/ void SortingAlgorithms::QSort(ElementVector& ev, int left, int right) { int new_right; if (right > left) { new_right = Partition(ev, left, right); QSort(ev,left, new_right - 1); QSort(ev,new_right + 1,right); } return; } /** * Método auxiliar ao QSort que executa particionamento da lista de elementos. **/ int SortingAlgorithms::Partition(ElementVector& ev, int left, int right) { register int i, j; i = left; for (j = left + 1; j <= right; j++) { if (ev[j] < ev[left]) { ++i; ev.swap(i,j); } } //O elemento do limite da partição é trocado com o pivô. Necessariamente isso //é apenas uma reatribuição quando a lista já se encontra ordenada. ev.swap(left,i); return i; }