Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Fundação Universidade Federal de Rondônia
Departamento Acadêmico de Ciência da Computação
Estrutura de Dados II
Giullia de Souza Santos
Thauan Costa da Silva
Exercícios ‐ Árvores B e variações
1. Criar uma árvore‐B+ pela inserção das chaves A, B, C, D, E, F, G, H, I e J, nesta
ordem.
∙ Ordem da árvore: 3
∙ Blocos de 3 registros.
2. Dada uma árvore ‐B+ abaixo, remova L, M, K e A, nesta ordem.
∙ Número mínimo de registros por bloco=2
∙ Número máximo de registros por bloco=4
∙ Ordem da árvore=3
3. Quais os separadores dos blocos, considerando uma
árvore‐B+ pré‐fixada?
R: BY e DE.
4. Construa a árvore‐B+ pré‐fixada sobre os blocos do exercício 3.
5. Realize as seguintes operações sobre a árvore‐B+ pré‐fixada do
exemplo anterior
a) inserção de CARTER
b) inserção de DRAG
c) remoção de BIXBY
d) remoção de COLE
6. Quais os problemas de se usar árvores binárias de busca e árvores AVL
como estruturas de índices para grandes volumes de dados?
R: Um dos maiores problemas é o elevado número de acessos ao disco ao
utilizar essas estruturas de dados para grandes volumes de dados. Assim,,
como exemplo as ABB’s podem facilmente se tornar desbalanceadas, o que
leva a operações de busca, inserção e remoção com complexidade O(n) no
pior caso. Além disso, as AVL’s necessitam de constantes operações de
balanceamento, o que pode ocasionar um overhead significativo em termos
de tempo.
7. Considere uma árvore‐B de ordem 3. Considere que o primeiro elemento
do segundo nó é a chave promovida durante o particionamento do nó. Insira
as seguintes chaves no índice: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q,
R, S, T, U, V, X, Z. Qual o efeito da inserção das chaves em ordem alfabética?
A árvore degenerou?
R: A árvore não degenerou,e se manteve completa em níveis, porém não ficou
perfeitamente balanceada
8. Quais as vantagens do uso da técnica de redistribuição quando da
inserção e remoção de chaves em uma árvore‐B?
R: A redistribuição oferece como principal vantagem uma melhor taxa de
ocupação dos nós, tornando mais eficiente o uso do espaço e possibilitando
uma árvore de menor altura, assim, diminuindo o número de acessos ao
disco necessários durante as operações de busca, inserção e remoção.
9. Suponha que você vai remover uma chave em uma árvore‐B, a qual causa
underflow na página. Se pela página irmã do lado direito é necessária
concatenação, e pela página irmã do lado esquerdo é possível redistribuição,
qual opção você escolheria? Por quê?
R: Nesse cenário, a melhor opção se dá pela redistribuição. Visto que a
redistribuição não modifica a estrutura da árvore e proporciona uma maior taxa
de ocupação das páginas/nós.
10. Qual a diferença entre uma árvore‐B e uma árvore‐B*? Quais as
vantagens e as desvantagens da árvore‐B*?
R: Na inserção da árvore-B*, é priorizado a redistribuição pelo split dois-três.
R: A principal diferença se dá pela implementação do split durante a operação
de inserção. Nas árvores B* o split é dado por “two-to-three split”, já nas
árvores B é por “One-to-two split”.
● Árvores B*: Uma página folha contém no mínimo (2m-1)/3 e no máximo
m-1 chaves.
● Árvores B; Uma página folha contém no mínimo m/2 -1 e, no máximo,
m-1 chaves.
A principal vantagem das árvores B* se dá pela melhor taxa de ocupação das
páginas proporcionadas pela redistribuição durante as operações, tornado
uma árvore com nível menor.
11. O que é uma árvore‐B virtual? Quais as vantagens e as desvantagens
da árvore‐B virtual?
R: É uma árvore onde algumas de suas páginas são mantidas carregadas na
memória RAM para melhorar a eficiência de acesso ao disco, geralmente
tendo o nó raiz sempre carregado na memória. Sua principal vantagem é o
acesso rápido aos dados, no entanto sua maior desvantagem se torna o maior
uso da memória RAM e o método de gerenciamento ao selecionar quais
páginas devem ou não serem mantidas previamente na memória.
12. O que é uma árvore‐B+? Quando ela é necessária?
R: Uma árvore-B+ é uma estrutura de dados do tipo árvore derivada das
árvores-B, porém com uma forma diferente de armazenamento de suas
chaves, onde as chaves são armazenadas nas folhas e as folhas são ligadas
umas às outras através de ponteiros, permitindo uma varredura sequencial
eficiente. Usamos uma árvore-B+ quando buscamos organizar um arquivo
de modo que seja eficiente para processamento sequencial de busca.
13. O que são separadores? Qual a diferença entre separadores e chaves?
R: São prefixos armazenados em índices, cada um de tamanho mínimo
variável, usados para distinguir entre os diferentes blocos de dados que estão
armazenados nas folhas. O que diferencia uma chave de um separador é que
a chave é o dado real, já o separador é somente um prefixo que indica um
caminho a uma determinada página folha procurada.
14. Para aplicações reais, juntamente com cada chave da árvore‐B é
armazenada uma referência para o registro do arquivo de dados que contém
os dados que são associados à chave (abordagem 1). Outra solução consiste
em, juntamente com cada chave da árvore‐B, armazenar o registro completo
de dados que contém os dados que são associados à chave (abordagem 2).
Compare essas duas abordagens em termos de vantagens e desvantagens.
R: Abordagem 1:
Vantagens:
- Melhor uso do espaço, visto que armazena apenas referências para os
registros, economizando espaço na árvore.
- Menor Overhead de Armazenamento, pois mantém os registros
separados das chaves, reduzindo o espaço ocupado pela estrutura da
árvore em si.
Desvantagens:
- Requer um acesso adicional ao disco, primeiro para obter a referência
do registro na árvore-B e depois para acessar o próprio registro no
arquivo de dados, aumentando o tempo de execução.
Abordagem 2:
Vantagens:
- Acesso direto ao disco, é possível acessar o registro completo sem
necessidade de buscar em outro local.
Desvantagens:
- Maior consumo do espaço, pois cada chave armazena o registro
completo, resultando em maior uso de espaço na árvore.
15. Em sala de aula, considerou‐se que os campos da árvore‐B que
armazenam as chaves de busca são campos de tamanho fixo (abordagem 1).
Entretanto, a árvore‐B pode ser implementada considerando campos de
tamanho variável para armazenar as chaves de busca (abordagem 2).
Compare essas duas abordagens em termos de vantagens e desvantagens.
R:Abordagem 1:
Vantagens:
- Acesso direto e mais rápido, visto que campos de tamanho fixo
estrutura da árvore-B são dados em posições previsíveis, otimizando
operações como busca e inserção.
Desvantagens:
- Possibilidade de desperdicio de espaço quando as chaves não ocupam
o tamanho fixo definido.
Abordagem 2: Campos de Tamanho Variável
Vantagens:
- Uso eficiente do espaço, pois cada chave ocupa apenas a quantidade
de memória necessária.
Desvantagens:
- Complexidade ao acessar, já que se torna necessário gerenciar o
tamanho das chaves e ajustar os ponteiros e índices conforme as
chaves variam.
16. Considere a seguinte trie de ordem (raio) 2, com ponteiros para buckets
com capacidade para abrigar 100 chaves (ou registros):
a. Desenhe a trie estendida e o diretório de endereços hash correspondente.
b. Considerando que os buckets A, B e C contêm, respectivamente, 100, 50 e
03 registros, dê a configuração do diretório, e a condição de cada bucket após
a inserção de uma nova chave cujo valor da função hash é 00.
c. Ainda na configuração inicial, considere agora que todas as chaves de B são
eliminadas. O que acontece com o diretório? R: Diminui o nível do diretório.
17. Considere um máximo de 3 elementos por bucket, e que a função hash
gera 4 bits para uma chave. Simule a inserção de chaves que geram os
seguintes endereços: 0000, 1000, 1001, 1010, 1100, 0001, 0100, 1111, 1011
br/images/7/72/Alg2_17.Hashing_Externo.pdf

Mais conteúdos dessa disciplina