SlideShare une entreprise Scribd logo
1  sur  28
Algoritmos de Ordenação:
Heapsort
Bruno Bitencourt Luiz
Estrutura de Dados – Prof. Marcelo Wendhausen. B.
Faculdade SATC
Criciúma, Novembro de 2015
Agenda
• Algoritmos;
• Algoritmos de Ordenação;
• Algoritmos de Ordenação por Seleção;
• Árvores Binárias;
• Heapsort;
• Vantagens X Desvantagens.
Algoritmos podem ser descritos como uma série de passos para
execução de uma tarefa. Este conjunto de passos deve ser finito.
O objetivo destes passos pode ser efetuar um cálculo de imposto,
um cadastro de cliente, exibir os resultados de uma busca, gerar
um relatório.
Algoritmos
A tarefa de extrair conteúdo relevante de uma coleção de dados, pode ser
trabalhosa em situações onde os dados não estão organizados. O objetivo
dos algoritmos de ordenação é colocar em uma determinada ordem total ou
parcialmente uma série de dados ou elementos. Esta ordenação pode ser
numérica ou lexicográfica.
Algoritmos de Ordenação
A ordenação por seleção utiliza-se da estratégia de passar sempre
o menor ou maior valor da lista para a primeira posição. O
segundo menor ou maior valor irá para segunda posição até o fim
da lista e assim sucessivamente. Os elementos já reordenados são
desconsiderados
Algoritmos de Ordenação por Seleção
De acordo com Goodrich (2013), o gargalo neste tipo
de algoritmo está em repetir a seleção de um segundo,
terceiro e assim sucessivamente menor número para
efetuar a ordenação. Onde se faz necessário percorrer
todos os elementos da lista.
Algoritmos de Ordenação por Seleção
Este tipo de algoritmo possui uma relação linear com o número de
elementos, o que corresponde a dizer que quanto maior o número de
elementos maior o tempo necessário para ordenação. A disposição dos dados
não influencia tanto no tempo para execução. Dados completamente
desorganizados serão ordenados com o mesmo custo.
Algoritmos de Ordenação por Seleção
Uma árvore binária é uma forma alternativa de
representar um vetor. Ela pode ou não possuir
elementos. Quando possui ao menos um elemento,
este pode possuir ponteiros para outros dois nós, um a
esquerda, outro a direita.
Árvores Binárias
Os elementos contidos são chamados de “nós”. “Pais”
são os nós que possuem nós abaixo, os nós que
possuem pais são chamados de “filhos”. Por fim, os
últimos nós que não possuem filhos são denominados
“folhas”.
Árvores Binárias
Para localizar o elemento pai i/2, o filho da esquerda 2i
e o filho da direita 2i + 1.
Árvores Binárias - Navegação
Criado em 1964 por Robert W. Floyd e aprimorado por
J.W.J Willians o Heapsort é um algoritmo de ordenação
do tipo ordenação por seleção.
Heapsort
Fonte:
http://www.computer.org/cms/Awards/images/medium/robertfloyd.jpg
Quando deseja-se ordenar os elementos de forma
crescente, cria-se um heap mínimo. Mantendo o maior
dado na raiz (por isso o conceito de árvore). Logo, para
uma ordenação decrescente, deve-se empregar o
heap-máximo, colocando o menor elemento na raiz.
Heapsort
Heapsort
Fonte: http://www.computer.org/cms/Awards/images/medium/robertfloyd.jpg
O algoritmo Heapsort pode ser resumido em:
selecionar o menor ou maior elemento, trocar com o
elemento presente na primeira posição. Essas
operações devem ser repetidas para todos os
elementos seguindo a forma (n - 1), (n - 2) e (n - N).
Heapsort
• Elementos já ordenados são desconsiderados;
• Para definir o elemento raiz, deve ser chamada a
função heapify;
Heapsort
A complexidade pode ser descrita por: O (n ln n), provando que
ele é estável para grandes quantidades de elementos, quando
comparado com outros algoritmos de ordenação como o Bubble
Sort e o Selection Sort, os quais a complexidade pode ser descrita
por O (n²).
Heapsort - Complexidade
Muitos sistemas operações e linguagens de programação fazem
uso do Heapsort para o gerenciamento de filas com prioridade,
pois o tempo de execução, estabilidade e o custo de memória em
situações onde os dados estão totalmente desordenados é
consistente com outras situações.
Heapsort – Utilização
• Elementos já ordenados são desconsiderados;
• Para definir o elemento raiz, deve ser chamada a
função heapify;
Heapsort
• Pior caso O (n ln n);
• Mais rápido que o Quicksort;
• Previsível.
Heapsort - Vantagens
• Construção constante da árvore.
Heapsort - Desvantagens
Execução de um Heapsort
Heapsort - Execução
Fonte: https://upload.wikimedia.org/wikipedia/commons/f/fe/Heap_sort_example.gif
Execução de um Heapsort em diferentes
cenários
Execução de um Heapsort
Aleatório Quase ordenado Inverso Repetidos
Fonte: http://www.sorting-algorithms.com/heap-sort
Perguntas?
Obrigado!
Referências
[1] GOODRICH, T. Michael et al. Data Structures & Algorithms: In Python. 1. ed. EUA:
Wiley, 2013.
[2] CORMEN, H. Thomas et al. Introduction to Algorithms. 3. ed. EUA: MIT Press,
2009.
[3] GUIMARÃES, Gleyser. O Algoritmo Heapsort. 2013. UFCG Pet. São Paulo.
Disponível em:
<http://www.dsc.ufcg.edu.br/~pet/jornal/maio2013/materias/historia_da_comput
acao.html>. Acesso em: 08 nov. 2015.
[4] FARIAS, Farias. Estrutura de Dados e Algoritmos – Aula 9. 2015. UFRJ Pet. Rio de
Janeiro. Disponível em: <http://www.cos.ufrj.br/~rfarias/cos121/aula_09.html>.
Acesso em: 08 nov. 2015.
Referências
[5] Heapsort. Sorting Algorithms. Disponível em: <http://www.sorting-
algorithms.com/heap-sort>. Acesso em: 08 nov. 2015.
[6] Heapsort. IME USP. Disponível em:
<http://www.ime.usp.br/~pf/algoritmos/aulas/hpsrt.html>. Acesso em: 08 nov.
2015.

Contenu connexe

Tendances

Apostila de primeiros socorros
Apostila de primeiros socorrosApostila de primeiros socorros
Apostila de primeiros socorros
Cristiane Dias
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
elliando dias
 

Tendances (20)

SGBD
SGBDSGBD
SGBD
 
Segurança do paciente
Segurança do pacienteSegurança do paciente
Segurança do paciente
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Apostila de primeiros socorros
Apostila de primeiros socorrosApostila de primeiros socorros
Apostila de primeiros socorros
 
AULA INSTRUMENTAÇÃO CIRURGICA PINÇAS.pptx
AULA INSTRUMENTAÇÃO CIRURGICA PINÇAS.pptxAULA INSTRUMENTAÇÃO CIRURGICA PINÇAS.pptx
AULA INSTRUMENTAÇÃO CIRURGICA PINÇAS.pptx
 
Sistemas Digitais
Sistemas DigitaisSistemas Digitais
Sistemas Digitais
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
CISC e RISC
CISC e RISCCISC e RISC
CISC e RISC
 
Mrtg
MrtgMrtg
Mrtg
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de Dados
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Risc e cisc
Risc e ciscRisc e cisc
Risc e cisc
 
Alterações Degenerativas Cerebrais
Alterações Degenerativas CerebraisAlterações Degenerativas Cerebrais
Alterações Degenerativas Cerebrais
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
 
Aula 02 evolução historica sistemas de informação - db
Aula 02   evolução historica sistemas de informação - dbAula 02   evolução historica sistemas de informação - db
Aula 02 evolução historica sistemas de informação - db
 
Distúrbios do movimento
Distúrbios do movimentoDistúrbios do movimento
Distúrbios do movimento
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Tecido nervoso
Tecido nervosoTecido nervoso
Tecido nervoso
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 

Similaire à Algoritmos de ordenação - heapsort

Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenação
Daiana de Ávila
 
AFRFB - TI - Jaime Correia
AFRFB - TI - Jaime CorreiaAFRFB - TI - Jaime Correia
AFRFB - TI - Jaime Correia
Walter Cunha
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
Fábio Rehm
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
alfredtaddeus
 
Algorimos De Ordenação
Algorimos De OrdenaçãoAlgorimos De Ordenação
Algorimos De Ordenação
Brian Supra
 

Similaire à Algoritmos de ordenação - heapsort (20)

Heap - Python
Heap - PythonHeap - Python
Heap - Python
 
Heap
HeapHeap
Heap
 
Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenação
 
Fec
FecFec
Fec
 
AFRFB - TI - Jaime Correia
AFRFB - TI - Jaime CorreiaAFRFB - TI - Jaime Correia
AFRFB - TI - Jaime Correia
 
Aula 21
Aula 21Aula 21
Aula 21
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
ID3 Algorithm
ID3 AlgorithmID3 Algorithm
ID3 Algorithm
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
 
Slide Semana2 Rodrigo
Slide Semana2 RodrigoSlide Semana2 Rodrigo
Slide Semana2 Rodrigo
 
Slide Share s2 Rodd
Slide Share s2 RoddSlide Share s2 Rodd
Slide Share s2 Rodd
 
Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
 
Algorimos De Ordenação
Algorimos De OrdenaçãoAlgorimos De Ordenação
Algorimos De Ordenação
 
Seminário - Java Collections
Seminário - Java CollectionsSeminário - Java Collections
Seminário - Java Collections
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Csharp fundamentals
Csharp fundamentalsCsharp fundamentals
Csharp fundamentals
 
Rodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando MahoutRodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando Mahout
 
Hash e Btree
Hash e BtreeHash e Btree
Hash e Btree
 
Pged 04
Pged 04Pged 04
Pged 04
 

Dernier

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 

Dernier (20)

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 

Algoritmos de ordenação - heapsort

  • 1. Algoritmos de Ordenação: Heapsort Bruno Bitencourt Luiz Estrutura de Dados – Prof. Marcelo Wendhausen. B. Faculdade SATC Criciúma, Novembro de 2015
  • 2. Agenda • Algoritmos; • Algoritmos de Ordenação; • Algoritmos de Ordenação por Seleção; • Árvores Binárias; • Heapsort; • Vantagens X Desvantagens.
  • 3. Algoritmos podem ser descritos como uma série de passos para execução de uma tarefa. Este conjunto de passos deve ser finito. O objetivo destes passos pode ser efetuar um cálculo de imposto, um cadastro de cliente, exibir os resultados de uma busca, gerar um relatório. Algoritmos
  • 4. A tarefa de extrair conteúdo relevante de uma coleção de dados, pode ser trabalhosa em situações onde os dados não estão organizados. O objetivo dos algoritmos de ordenação é colocar em uma determinada ordem total ou parcialmente uma série de dados ou elementos. Esta ordenação pode ser numérica ou lexicográfica. Algoritmos de Ordenação
  • 5. A ordenação por seleção utiliza-se da estratégia de passar sempre o menor ou maior valor da lista para a primeira posição. O segundo menor ou maior valor irá para segunda posição até o fim da lista e assim sucessivamente. Os elementos já reordenados são desconsiderados Algoritmos de Ordenação por Seleção
  • 6. De acordo com Goodrich (2013), o gargalo neste tipo de algoritmo está em repetir a seleção de um segundo, terceiro e assim sucessivamente menor número para efetuar a ordenação. Onde se faz necessário percorrer todos os elementos da lista. Algoritmos de Ordenação por Seleção
  • 7. Este tipo de algoritmo possui uma relação linear com o número de elementos, o que corresponde a dizer que quanto maior o número de elementos maior o tempo necessário para ordenação. A disposição dos dados não influencia tanto no tempo para execução. Dados completamente desorganizados serão ordenados com o mesmo custo. Algoritmos de Ordenação por Seleção
  • 8. Uma árvore binária é uma forma alternativa de representar um vetor. Ela pode ou não possuir elementos. Quando possui ao menos um elemento, este pode possuir ponteiros para outros dois nós, um a esquerda, outro a direita. Árvores Binárias
  • 9. Os elementos contidos são chamados de “nós”. “Pais” são os nós que possuem nós abaixo, os nós que possuem pais são chamados de “filhos”. Por fim, os últimos nós que não possuem filhos são denominados “folhas”. Árvores Binárias
  • 10. Para localizar o elemento pai i/2, o filho da esquerda 2i e o filho da direita 2i + 1. Árvores Binárias - Navegação
  • 11. Criado em 1964 por Robert W. Floyd e aprimorado por J.W.J Willians o Heapsort é um algoritmo de ordenação do tipo ordenação por seleção. Heapsort Fonte: http://www.computer.org/cms/Awards/images/medium/robertfloyd.jpg
  • 12. Quando deseja-se ordenar os elementos de forma crescente, cria-se um heap mínimo. Mantendo o maior dado na raiz (por isso o conceito de árvore). Logo, para uma ordenação decrescente, deve-se empregar o heap-máximo, colocando o menor elemento na raiz. Heapsort
  • 14. O algoritmo Heapsort pode ser resumido em: selecionar o menor ou maior elemento, trocar com o elemento presente na primeira posição. Essas operações devem ser repetidas para todos os elementos seguindo a forma (n - 1), (n - 2) e (n - N). Heapsort
  • 15. • Elementos já ordenados são desconsiderados; • Para definir o elemento raiz, deve ser chamada a função heapify; Heapsort
  • 16. A complexidade pode ser descrita por: O (n ln n), provando que ele é estável para grandes quantidades de elementos, quando comparado com outros algoritmos de ordenação como o Bubble Sort e o Selection Sort, os quais a complexidade pode ser descrita por O (n²). Heapsort - Complexidade
  • 17. Muitos sistemas operações e linguagens de programação fazem uso do Heapsort para o gerenciamento de filas com prioridade, pois o tempo de execução, estabilidade e o custo de memória em situações onde os dados estão totalmente desordenados é consistente com outras situações. Heapsort – Utilização
  • 18. • Elementos já ordenados são desconsiderados; • Para definir o elemento raiz, deve ser chamada a função heapify; Heapsort
  • 19. • Pior caso O (n ln n); • Mais rápido que o Quicksort; • Previsível. Heapsort - Vantagens
  • 20. • Construção constante da árvore. Heapsort - Desvantagens
  • 21. Execução de um Heapsort
  • 22. Heapsort - Execução Fonte: https://upload.wikimedia.org/wikipedia/commons/f/fe/Heap_sort_example.gif
  • 23. Execução de um Heapsort em diferentes cenários
  • 24. Execução de um Heapsort Aleatório Quase ordenado Inverso Repetidos Fonte: http://www.sorting-algorithms.com/heap-sort
  • 27. Referências [1] GOODRICH, T. Michael et al. Data Structures & Algorithms: In Python. 1. ed. EUA: Wiley, 2013. [2] CORMEN, H. Thomas et al. Introduction to Algorithms. 3. ed. EUA: MIT Press, 2009. [3] GUIMARÃES, Gleyser. O Algoritmo Heapsort. 2013. UFCG Pet. São Paulo. Disponível em: <http://www.dsc.ufcg.edu.br/~pet/jornal/maio2013/materias/historia_da_comput acao.html>. Acesso em: 08 nov. 2015. [4] FARIAS, Farias. Estrutura de Dados e Algoritmos – Aula 9. 2015. UFRJ Pet. Rio de Janeiro. Disponível em: <http://www.cos.ufrj.br/~rfarias/cos121/aula_09.html>. Acesso em: 08 nov. 2015.
  • 28. Referências [5] Heapsort. Sorting Algorithms. Disponível em: <http://www.sorting- algorithms.com/heap-sort>. Acesso em: 08 nov. 2015. [6] Heapsort. IME USP. Disponível em: <http://www.ime.usp.br/~pf/algoritmos/aulas/hpsrt.html>. Acesso em: 08 nov. 2015.