Você está na página 1de 3

INSTITUTO SUPERIOR DE COMUNICAÇÃO E IMAGEM DE MOÇAMBIQUE

ALGORITMO E ESTRUTURA DE DADOS I

Curso: ISD2A, ISD2B Ficha de Exercícios Filas com Prioridade e Heap Nov-2022

120 min

Exercícios de HEAP
Exercício 1: Seja dada a árvore abaixo insira um nó com o valor 1 respeitando a regra
dos HEAPS. E faça também a sua representação em um vector.

Exercício 2: Seja dada a árvore abaixo, pretendemos retire a raiz respeitando a regra dos

HEAPS. E faça também a sua representação em um vector.

Exercício 3: Dada a sequência dos números crie as arvores HEAP correspondentes

a) 3, 4, 9, 2, 5, 1, 8
b) Xx

Exercício 4: Considere o heap formado pelo vetor de números {10, 7, 9, 5, 3, 2, 8, 4, 3, 2, 2, 0}.


Mostre o heap resultante da remoção do seu elemento de maior valor.

Page 1 of 3
Exercício 5: Em um heap, quais são as possíveis posições para o menor elemento? Escreva um
algoritmo para encontrar o menor elemento em um heap. Qual a complexidade deste algoritmo
em função do número total de elementos N?

Exercício 6: Um heap binário é uma árvore binária completa (todos os níveis exceto o último
cheios) preenchido da esquerda para a direita na qual cada nó é maior ou igual a seus filhos.
Heaps binários são armazenados em vetores, resultantes da varredura da árvore binária em
largura. Dada a rígida estrutura, é possível converter um vetor em árvore e vice-versa.
a) Mostre na forma de árvore binária a estrutura do heap binário representado pelo vetor [6, 6,
2, 5, 3].
b) Novos elementos podem ser adicionados ao heap de forma eficiente. Para tanto, o novo
elemento é anexado ao final do heap. Em seguida, a sub-árvore afetada é “corrigida”,
movendo-se o elemento novo para sua posição correta na hierarquia. O processo prossegue
heap acima, sub-árvore a sub-árvore, até que não sejam necessárias mais alterações. Mostre
o resultado na forma de árvores da inserção sucessiva dos valores 3, 8, e 7.
c) Da mesma maneira, o maior valor em um heap (nó raiz) também pode ser eficientemente
removido. Para tanto, ele é trocado de posição com o último elemento, e removido do vetor.
Em seguida, a sub-árvore raiz é corrigida movendo-se o novo elemento para a posição
adequada. O processo prossegue heap abaixo até que não sejam necessárias mais alterações.
Mostre o resultado na forma de árvores da remoção sucessiva de 3 dos maiores elementos
do heap produzido no item b).
Exercício 7: Considere o vetor de heap = (95,60,78,39,28,66,70,33). Mostre passo a passo quais
seriam as modificações que o vetor sofre quando:
a. é retirado o elemento do topo;
b. é inserido o um elemento com a prioridade 50 (no vetor original).
c. é aplicado o algoritmo de heapsort.
Exercício 8: Enuncie a(s) característica(s) que define(m) um heap e diga se cada um dos grafos a
seguir são ou não são um heap

Page 2 of 3
Page 3 of 3

Você também pode gostar