SlideShare uma empresa Scribd logo
1 de 20
BUBBLE SORT Definição O bubblesort, ou ordenação por flutuação (literalmente "por bolha"), é um algoritmo de ordenação dos mais simples. A ideia é percorrer o vector diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. Características: ,[object Object]
Lento para ordenar grande número de elementos, mas eficiente com poucos elementos;
O(n2) comparações e trocas;
Adaptativo: O(n) comparações e trocas se o algoritmo estiver parcialmente ordenado.
Pior Caso: O(n2), Caso Médio O(n2) melhor caso O(n).,[object Object]
SELECTION SORT Definição O selectionsort (ordenação por seleção) é um algoritmo de ordenação baseado em se passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os (n-1) elementos restantes, até os últimos dois elementos. Pior Caso: O(n2), Caso Médio O(n2) Melhor caso O(n2).
SELECTION SORT Demonstração:
QUICK SORT Definição O QuickSort é um algoritmo baseado em Divisão e Conquista. Isso significa que ele divide sucessivamente um problema e partes menores . O próximo passo é solucionar recursivamente os sub-problemas, ou seja ordenar os elementos, e só então combinar as soluções menores de forma a obter a solução final.   Complexidade: Pior Caso:      O(n2) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
QUICK SORT Demonstração
MERGE SORT Definição Sua idéia básica é 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. Os três passos úteis dos algoritmos dividir-para-conquistar, ou divide andconquer, que se aplicam ao merge sort são: Dividir: Dividir os dados em subsequências pequenas; Conquistar: Classificar as duas metades recursivamente aplicando o merge sort; Combinar: Juntar as duas metades em um único conjunto já classificado. Complexidade: Pior Caso:      O(nlogn) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
MERGE SORT Demonstração
HEAP SORT Definição • HeapSorttambém é um método de seleção – ordena através de sucessivas seleções do elemento correto a ser posicionado em um segmento ordenado • O HeapSortutiliza um heap binário para manter o próximo elemento a ser selecionado – heap binário: árvore binária mantida na forma de vetor – o heapé gerado e mantido no próprio vetor a ser ordenado (no segmento não-ordenado) Complexidade: Pior Caso:      O(nlogn) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
HEAP SORT Você sabe o que um Heap? Primeiro vamos entender o que é um Heap.
HEAP SORT HeapBinário – Exemplo • raiz da árvore: primeira posição do vetor • filhos de um nodo na posição i: posições 2i e 2i + 1 • pai de um nodo na posição i: posição ëi / 2û
HEAP SORT HeapBinário Máximo • HeapBinário tal que um nodo pai tem valor maior ou igual ao valor dos nodos filhos
HEAP SORT Funcionamento 1. Transformação do vetor em um heap binário máximo (Construção do Heap) 2. Ordenação – a cada iteração seleciona-se o maior elemento (na raiz do heap) e o adiciona no início de um segmento ordenado – após cada seleção de elemento, o heap deve ser reorganizado para continuar sendo um heap binário máximo.
HEAP SORT
HEAP SORT • Método auxiliar responsável pelo ajuste de um elemento no heap – método ajustaElemento(posição, vetor.lenght) – realiza trocas no heap para posicionar corretamente um elemento • Exemplo: ajustaElemento(1, 7)
HEAP SORT Ajuste de Elementos • Executa até que o elemento seja transferido para uma posição i > ën/2û – após a posição ën/2û , o elemento já é um nodo folha
HEAP SORT Etapa de Ordenação • A cada iteração seleciona o maior elemento do heap (sempre está na primeira posição) e o troca com o elemento no final do segmento não-ordenado • Após a troca, o novo elemento raiz do heap deve ser ajustado (deve-se chamar ajustaElemento para o nodo raiz) • O processo termina quando o heap tiver somente 1 elemento (vetor ordenado)

Mais conteúdo relacionado

Mais procurados

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasLeinylson Fontinele
 
17 arvores binarias de busca
17   arvores binarias de busca17   arvores binarias de busca
17 arvores binarias de buscaRicardo Bolanho
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dadosThalita Chaves
 
Técnica de busca - Bubble Sort
Técnica de busca - Bubble SortTécnica de busca - Bubble Sort
Técnica de busca - Bubble SortBruno Oliveira
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalizaçãoMatias Silva
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Erick Petrucelli
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente EncadeadasLeinylson Fontinele
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasLeinylson Fontinele
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetoresalfredtaddeus
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesLeinylson Fontinele
 

Mais procurados (20)

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas Estáticas
 
17 arvores binarias de busca
17   arvores binarias de busca17   arvores binarias de busca
17 arvores binarias de busca
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dados
 
Técnica de busca - Bubble Sort
Técnica de busca - Bubble SortTécnica de busca - Bubble Sort
Técnica de busca - Bubble Sort
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalização
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
 
Tabela Hash
Tabela HashTabela Hash
Tabela Hash
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
 
Aula sobre Tabela Hash
Aula sobre Tabela HashAula sobre Tabela Hash
Aula sobre Tabela Hash
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
 

Destaque

Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem PythonElementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem PythonCaliane Z. Pecenin
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesMauricio Volkweis Astiazara
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsortFlávio Freitas
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresPedro Valente
 
Exercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoExercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoJota Thin
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programarrobinhoct
 
Metodo de Ordenação Selection sort
Metodo de Ordenação Selection sortMetodo de Ordenação Selection sort
Metodo de Ordenação Selection sortLeno Oliveira
 
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
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoDelacyr Ferreira
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPDelacyr Ferreira
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeDelacyr Ferreira
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 
Bucket sort
Bucket sortBucket sort
Bucket sorteislenp
 

Destaque (20)

Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem PythonElementos Fundamentais de Linguagens de Programação e a Linguagem Python
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsort
 
7 slides
7 slides7 slides
7 slides
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetores
 
Exercícios resolvidos de Algoritmo
Exercícios resolvidos de AlgoritmoExercícios resolvidos de Algoritmo
Exercícios resolvidos de Algoritmo
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programar
 
Metodo de Ordenação Selection sort
Metodo de Ordenação Selection sortMetodo de Ordenação Selection sort
Metodo de Ordenação Selection sort
 
Ordenação por inserção
Ordenação por inserçãoOrdenação por inserção
Ordenação por inserção
 
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
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 

Semelhante a Ordenação por heap sort

Algorimos De Ordenação
Algorimos De OrdenaçãoAlgorimos De Ordenação
Algorimos De OrdenaçãoBrian Supra
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsortFlávio Freitas
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoLenon Fachiano
 

Semelhante a Ordenação por heap sort (7)

Aula 20
Aula 20Aula 20
Aula 20
 
Aula 21
Aula 21Aula 21
Aula 21
 
Algorimos De Ordenação
Algorimos De OrdenaçãoAlgorimos De Ordenação
Algorimos De Ordenação
 
Aula 4
Aula 4 Aula 4
Aula 4
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsort
 
Pged 04
Pged 04Pged 04
Pged 04
 
Comparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de OrdenaçãoComparação Experimental de Algoritmos de Ordenação
Comparação Experimental de Algoritmos de Ordenação
 

Ordenação por heap sort

  • 1.
  • 2. Lento para ordenar grande número de elementos, mas eficiente com poucos elementos;
  • 4. Adaptativo: O(n) comparações e trocas se o algoritmo estiver parcialmente ordenado.
  • 5.
  • 6. SELECTION SORT Definição O selectionsort (ordenação por seleção) é um algoritmo de ordenação baseado em se passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os (n-1) elementos restantes, até os últimos dois elementos. Pior Caso: O(n2), Caso Médio O(n2) Melhor caso O(n2).
  • 8. QUICK SORT Definição O QuickSort é um algoritmo baseado em Divisão e Conquista. Isso significa que ele divide sucessivamente um problema e partes menores . O próximo passo é solucionar recursivamente os sub-problemas, ou seja ordenar os elementos, e só então combinar as soluções menores de forma a obter a solução final. Complexidade: Pior Caso: O(n2) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
  • 10. MERGE SORT Definição Sua idéia básica é 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. Os três passos úteis dos algoritmos dividir-para-conquistar, ou divide andconquer, que se aplicam ao merge sort são: Dividir: Dividir os dados em subsequências pequenas; Conquistar: Classificar as duas metades recursivamente aplicando o merge sort; Combinar: Juntar as duas metades em um único conjunto já classificado. Complexidade: Pior Caso: O(nlogn) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
  • 12. HEAP SORT Definição • HeapSorttambém é um método de seleção – ordena através de sucessivas seleções do elemento correto a ser posicionado em um segmento ordenado • O HeapSortutiliza um heap binário para manter o próximo elemento a ser selecionado – heap binário: árvore binária mantida na forma de vetor – o heapé gerado e mantido no próprio vetor a ser ordenado (no segmento não-ordenado) Complexidade: Pior Caso: O(nlogn) Caso Médio: O(nlogn) Melhor caso:O(nlogn).
  • 13. HEAP SORT Você sabe o que um Heap? Primeiro vamos entender o que é um Heap.
  • 14. HEAP SORT HeapBinário – Exemplo • raiz da árvore: primeira posição do vetor • filhos de um nodo na posição i: posições 2i e 2i + 1 • pai de um nodo na posição i: posição ëi / 2û
  • 15. HEAP SORT HeapBinário Máximo • HeapBinário tal que um nodo pai tem valor maior ou igual ao valor dos nodos filhos
  • 16. HEAP SORT Funcionamento 1. Transformação do vetor em um heap binário máximo (Construção do Heap) 2. Ordenação – a cada iteração seleciona-se o maior elemento (na raiz do heap) e o adiciona no início de um segmento ordenado – após cada seleção de elemento, o heap deve ser reorganizado para continuar sendo um heap binário máximo.
  • 18. HEAP SORT • Método auxiliar responsável pelo ajuste de um elemento no heap – método ajustaElemento(posição, vetor.lenght) – realiza trocas no heap para posicionar corretamente um elemento • Exemplo: ajustaElemento(1, 7)
  • 19. HEAP SORT Ajuste de Elementos • Executa até que o elemento seja transferido para uma posição i > ën/2û – após a posição ën/2û , o elemento já é um nodo folha
  • 20. HEAP SORT Etapa de Ordenação • A cada iteração seleciona o maior elemento do heap (sempre está na primeira posição) e o troca com o elemento no final do segmento não-ordenado • Após a troca, o novo elemento raiz do heap deve ser ajustado (deve-se chamar ajustaElemento para o nodo raiz) • O processo termina quando o heap tiver somente 1 elemento (vetor ordenado)
  • 21. HEAP SORT Nesse caso, um Heap Máximo.
  • 23. FIM Referências: Wikipédia Vimeo.com Ordenação de Dados(III) UFSC-CTC-INE INE5384 - Estruturas de Dados Prof. Ronaldo S. Mello UNICAMP Fernando Ferreira