Buscar

AAED - Lista de exercícios 6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Pós-Graduação em Ciência da Computação Universidade Federal de São Paulo - São José dos Campos
Exerćıcios sobre Árvores B
AAED — Análise de Algoritmos e Estruturas de Dados
Prof. Jurandy G. Almeida Jr.
1o Semestre de 2020
Exerćıcios
1. Sob quais condições deve ser considerado o uso de um arquivo sequencial indexado? Justique
a sua resposta.
2. Sob quais condições o uso de uma árvore binária de pesquisa pode ser melhor do que uma
árvore B para gerir dados em memória secundária? Justifique a sua resposta.
3. Quais os problemas de se usar árvores binárias de pesquisa como estruturas para gerir dados
em memória secundária? Justifique a sua resposta.
4. Explique a seguinte sentença: “Árvores B são constrúıdas de baixo para cima, enquanto
árvores binárias são constrúıdas de cima para baixo”.
5. Por que árvores B são consideradas geralmente superiores às árvores binárias de busca para
pesquisa externa, embora árvores binárias sejam comumente usadas para pesquisa interna?
6. Dada uma árvore B de ordem m = 128, responda:
(a) Qual o número máximo de descendentes de uma página não folha?
(b) Qual o número mı́nimo de descendentes de uma página não folha que não seja a página
raiz?
(c) Qual o número mı́nimo de descendentes da página raiz?
(d) Qual o número mı́nimo de itens de uma página folha?
(e) Quantos itens há numa página não folha com 200 descendentes?
(f) Qual a profundidade máxima de uma árvore que contém 100.000 chaves?
7. Explique como encontrar o item com a menor chave armazenada em uma árvore B.
8. A que condições deve satisfazer uma árvore B de ordem m para que a inserção de um item
ocasione o aumento da altura da árvore?
9. A que condições deve satisfazer uma árvore B de ordem m para que a remoção de um item
ocasione a redução da altura da árvore?
10. Por que a redistribuição deve ser tentada antes da fusão durante a remoção de um item
situado em uma página com ocupação mı́nima de uma árvore B?
11. Quais as vantagens do uso da técnica de redistribuição quando da inserção e remoção de itens
em uma árvore B?
12. Se um item não está em uma página folha de uma árvore B, o que garante que o seu sucessor,
se existir, estará obrigatoriamente localizado em uma página folha?
13. Qual é o pior caso do algoritmo de inserção de um item em uma árvore B de ordem m? Como
deve ser a árvore nesse caso?
14. Mostre passo a passo as árvores B de ordem m = 2 resultantes da inserção das chaves abaixo.
(a) C G J X
(b) C G J X N S U O A E B H I
(c) C G J X N S U O A E B H I F
(d) C G J X N S U O A E B H I F K L Q R T V U W Z
15. Seja uma árvore B de ordem m = 3 e altura h = 3. Qual o número máximo de itens nessa
árvore? E o número mı́nimo? Justifique.
16. Para uma árvore B de ordem m > 0 e altura h > 0, calcule em função de m e h o número
mı́nimo nmin e máximo nmax de itens que ela pode possuir.
17. Suponha que você tem uma árvore B que contém n itens em um arquivo não ordenado. A
altura da árvore B é h. Indique o número mı́nimo e máximo de páginas transferidas da
memória secundária necessárias para recuperar, adicionar e remover um registro. Justifique
a sua resposta.
18. Suponha que se quer remover um item de uma página em uma árvore B. Você olha para a
direita e percebe que uma redistribuição não vai adiantar, será necessária a fusão. Você olha
para a esquerda e percebe que uma redistribuição é uma opção aqui. Você escolheria fundir
ou redistribuir?
19. Considere a afirmação: “uma árvore B não pode crescer em profundidade até que esteja 100%
cheia”. Discuta essa afirmação. Ela é correta? Explique sua resposta.
20. Mostre passo a passo as árvores obtidas a partir da inserção das chaves M D H Q U A B
C E F G I J K L N O R S T V W em uma árvore B de ordem m = 2 e, a cada passo, ou
seja, a cada inserção, determine quantas transferências de páginas da memória secundária são
necessárias para completar a operação de inserção e as páginas que foram acessadas.
21. Escreva um algoritmo que, dada uma árvore B e uma chave, retorne o sucessor imediato dessa
chave.
22. Considere a árvore B de ordem m = 1 da figura a seguir e mostre passo a passo as árvores
obtidas a partir da inserção das chaves 62, 50, 59, 10, 35, 78 e 90, nesta ordem.
• 40 • 60 •
• 30 • • • 50 • • • 65 • 68 •
23. Considere a árvore B de ordem m = 1 da figura a seguir e mostre passo a passo as árvores
obtidas a partir da remoção da chave 30 e inserção das chaves 32, 35, 40, 12 e 15, nesta ordem.
Caso necessário, dê a preferência para a promoção da maior chave da subárvore à esquerda,
ou seja, o predecessor.
• 30 • •
• 10 • 15 • • 35 • 40 •
• 5 • • • 12 • • • 16 • • • 32 • • • 38 • • • 46 • •
24. Mostre passo a passo as árvores obtidas a partir da remoção das chaves A, B, Q e R da
árvore-B de ordem m = 2 apresentada na figura abaixo. Caso necessário, dê a preferência
para a promoção da maior chave da subárvore à esquerda, ou seja, o predecessor.
• M • • • •
• D • H • • • • Q • U • • •
• A • B • C • • • E • F • G • • • I • J • K • L • • N • O • • • • R • S • T • • • V • W • • •
25. A partir da árvore B de ordem m = 2 abaixo, mostre passo a passo a árvore resultante das
operações a seguir, indicando as páginas que sofrem modificações, bem como a ocorrência de
divisão, fusão ou redistribuição.
73
22 46
7 11 25 28 32 38 54 70
81 86
74 77 83 84 91 96 99
(a) Inserção das chaves 61, 71, 65 e 55, nesta ordem, sem utilizar redistribuição.
(b) Inserção das chaves 61, 71, 65 e 55, nesta ordem, com o uso de redistribuição.
(c) Remoção das chaves 54, 32 e 28, nesta ordem. Caso necessário, dê a preferência para a
promoção da maior chave da subárvore à esquerda, ou seja, o predecessor.
(d) Remoção das chaves 4, 11, 38 e 22, nesta ordem. Caso necessário, dê a preferência para
a promoção da maior chave da subárvore à esquerda, ou seja, o predecessor.
26. Escreva um algoritmo para pesquisar itens de árvores B de acordo com a ordem de sua chave,
isto é, Search(k) encontra a k-ésima menor chave da árvore. Qual é o custo de melhor e pior
caso desse algoritmo?
27. Qual a diferença entre uma árvore B e uma árvore B*? Que melhoras a B* oferece sobre
a árvore B e que complicações ela introduz? Qual é a altura mı́nima de uma árvore B* de
ordem m comparada com uma árvore B de ordem m?
28. Mostre passo a passo as árvores obtidas a partir da inserção das chaves M D H Q U A B C
E F G I J K L N O R S T V W em uma árvore B* de ordem m = 2.
29. Mostre passo a passo as árvores obtidas a partir da inserção das chaves M D H Q U A B C
E F G I J K L N O R S T V W em uma árvore B+ de ordem m = 2.
30. A partir da árvore B+ de ordem m = 1 abaixo, mostre passo a passo a árvore resultante da
inserção das chaves 19 e 27; seguida da remoção das chaves 5, 9, 12, 4 e 11, nesta ordem.
Caso necessário, dê a preferência para a promoção da maior chave da subárvore à esquerda,
ou seja, o predecessor.
13 30
5 10
1 4 5 9 11 12
20
13 18 20 29
40 50
30 38 41 45 60 70
31. Descreva as diferenças entre uma árvore B e uma árvore B+ no que diz respeito a quantidade
de chaves, localização dos itens, número de páginas acessadas durante as operações e diferenças
entre páginas internas e externas.
32. Faça uma comparação entre árvore B, árvore B* e árvore-B+ em relação às operações de
pesquisa, inserção e remoção.

Continue navegando