SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

Documentos relacionados
Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores B Parte IV. Revisão de Inserção. Organização. Variantes. Leandro C. Cintra Maria Cristina F. de Oliveira

Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II Árvore-B +

Árvores-B + SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Cristina Dutra de Aguiar Ciferri

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Algoritmo: Split. Árvores B Parte IV. Algoritmo: Split. Algoritmo: Split. Algoritmo: Split. Procedimento inicial. Parâmetros

Acesso a Arquivos. Árvores B Parte VI. Acesso Seqüencial & Indexado. Questão. Foco 1. Uso de Blocos. Árvores B+ Alternativas (até o momento)

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Definição. Árvores B Parte III. Propriedades Gerais. Propriedade (No. Mín. de Chaves) Leandro C. Cintra Maria Cristina F.

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B: Remoção. Cristina Dutra de Aguiar Ciferri Thiago A. S. Pardo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;

Acesso Sequencial Indexado

Árvores-B: Remoção. Cristina Dutra de Aguiar Ciferri Thiago A. S. Pardo

Pesquisa em Memória Secundária. Prof. Jonas Potros

Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias

Árvores B Parte III. Propriedades, Remoção & Inserção Revisitada. Adaptado e Estendido dos Originais de:

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Árvores B. Prof. Flávio Humberto Cabral Nunes

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista

Árvores B. Árvores B Parte II. Características. Características. Construção Bottom-Up. Leandro C. Cintra Maria Cristina F. de Oliveira.

Árvores. N-árias, Binárias, Busca. Vanessa Maia Berny Mestrado em Ciência da Computação

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

INF1010 Lista de Exercícios 2

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores B Partes I e II

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores Binárias de Busca

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de:

Estruturas de Dados II

Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

Árvores binárias de busca

INF 1010 Estruturas de Dados Avançadas

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

Árvores Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore

Prof. Jesus José de Oliveira Neto

UNIVERSIDADE DE SÃO PAULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 Profa.

Tabelas de dispersão/hash

Árvores binárias de busca

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Árvores Binárias Balanceadas

Seja d um número natural. Uma árvore B de ordem d é uma árvore ordenada que é vazia, ou que satisfaz as seguintes condições:

DAINF - Departamento de Informática

Árvores Auto-ajustadas

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres

Aula 13 Árvores Rubro-Negras

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Aula 19 Árvores Rubro-Negras

Árvores Rubro-Negra IFRN

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação. Árvores Balanceadas

Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.

Árvores - Conceitos. Roseli Ap. Francelin Romero

Indexação de Arquivos III:

Quarto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice simples ou linear. Descrição de páginas de disco

Aula 16 Árvores Patricia e Árvores B

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Árvores Binárias de Busca (ABB) 18/11

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Árvores Vermelho-Preto

Árvores Vermelho-Preto

ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

Árvores Binárias de Busca (ABB) 18/11

Árvores binárias de busca

Busca em Memória Secundária. Busca em Memória Secundária

ESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Árvores B. Árvore B (ou melhor B+)

Árvores B. Definição: Seja t a ordem da árvore B. Uma árvore B de ordem t é uma árvore ordenada que é vazia, ou que satisfaz as seguintes condições:

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Pesquisa em memória primária

Armazenamento em disco com uso de índices

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

Árvores de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.

Linguagem C: Árvores AVL

Raiz, filho, pai, irmão, ancestral, descendente, folha.

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo?

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Transcrição:

DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0203 - Algoritmos e Estruturas de Dados II 6ª lista de exercícios Questão 1 Explique a seguinte sentença: Árvores-B são construídas de baixo para cima, enquanto árvores binárias são construídas de cima para baixo. Questão 2 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? Questão 3 Dada uma Árvore-B de ordem 256 a) Qual o número máximo de descendentes de uma página? b) Qual o número mínimo de descendentes de uma página (excluindo a raiz e as folhas)? c) Qual o número mínimo de descendentes da raiz? d) Qual o número mínimo de descendentes de uma folha? e) Quantas chaves 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? Questão 4 completas. Verifique que todas as árvores-b de ordem 2 são árvores binárias Questão 5 Descreva as partes necessárias de um nó folha em uma árvore B. Como um nó folha difere de um nó interno? Questão 6 Dê a declaração de uma Árvore-B em C e descreva a estrutura de um nó de uma Árvore-B. Questão 7 Explique como encontrar a menor chave armazenada em uma árvore-b. Questão 8 Mostre as árvores-b de ordem 4 resultantes da entrada das letras abaixo na ordem apresentada. 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 Questão 9 Suponha que você tem um índice em árvore-b para um arquivo não ordenado que contenha N registros de dados, onde cada chave foi armazenada juntamente com o RRN do registro correspondente. A profundidade da árvore B é d. Quais são o número máximo e o mínimo de acessos a disco necessários para: a. Recuperar um registro; b. Adicionar um registro; c. Remover um registro; e d. Recuperar todos os registros do arquivo ordenadamente. Assuma não estar usando page buffering, ou seja, as páginas acessadas não permanecem na memória. Em cada caso, indique como você chegou à resposta. Questão 10 Suponha que se quer apagar uma chave de um nó em uma árvore-b. Você olha para a direita e percebe que uma redistribuição não vai adiantar, será necessária a concatenação. Você olha para a esquerda e percebe que uma redistribuição é uma opção aqui. Você escolheria concatenar ou redistribuir? Questão 11 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. Questão 12 Mostre a cada passo, as árvores que resultam depois de remoção das chaves A, B, Q e R da árvore-b de ordem 5 apresentada na figura a seguir: Questão 13 Escreva um algoritmo para buscar chaves de árvores-b por posição, isto é, search(k) encontra a k-ésima menor chave da árvore. Quais são o pior e o melhor caso para o tempo de computação desse algoritmo? Sugestão: Para executar com maior eficiência, pode ser adicionada mais informação nos nós. Com cada par (Ki,Ai), guarde Ni= Σ (número de valores de chaves na subárvore Aj+1).

Questão 14 É possível construir um arquivo de índice sequencial sem usar uma estrutura de árvore indexada. Um índice simples pode ser usado. Sob quais condições deve ser considerado o uso de um índice simples? Sob quais condições deve ser melhor o uso de uma árvore binária do que uma árvore-b para o índice? Questão 15 Insira as 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 7 e, a cada passo, ou seja, a cada inserção, determine a quantidade de acessos ao disco para completar a operação de inserção e as páginas que foram acessadas. Suponha que a árvore se encontra toda em disco. Questão 16 Qual a diferença entre uma árvore-b e uma B*? Que melhoras a B* oferece sobre a árvore-b, e que complicações ela introduz? Qual é a profundidade mínima de um B* de ordem m comparada com uma árvore-b de ordem m? Questão 17 Descreva estruturas de arquivos que permitam cada um dos seguintes tipos de acesso: (a) acesso sequencial apenas; (b) acesso direto apenas; (c) acesso sequencial indexado. Questão 18 Considere o conjunto sequência mostrado na Figura 9.1(b) do (Folk & Zoellick, 1992). Mostre o conjunto sequência depois que as chaves DOVER e EARNEST forem adicionadas; então mostre o conjunto sequência depois que a chave DAVIS for removida. Você usou concatenação ou redistribuição para controlar o underflow? Questão 19 O conjunto de índices de uma árvore B+ é exatamente uma árvore-b, mas diferente das árvores-b discutidas no Capítulo 8 do (Folk & Zoellick, 1992), os separadores não precisam ser chaves. Por que a diferença? Questão 20 Árvores-B de ordem 3 também são chamadas de árvores-2-3. Na árvore 2-3 da figura a seguir insira a chave 62 usando o algoritmo de inserção visto em aula. Assumindo que a árvore é armazenada em disco, e que cada nó pode ser lido através de um acesso a disco, quantos acessos a disco são necessários para fazer esta inserção? Especifique qualquer suposição que você assumir para dar a resposta. Questão 21 Da árvore de ordem 3 da figura a seguir, apague a chave 30 (use o procedimento de remoção visto em aula). Fazendo as mesmas suposições feitas na Questão 20, quantos acessos a disco serão necessários?

Questão 22 Na árvore da figura da Questão 20 insira 50, 59, 10, 35, 78, 90 nesta ordem mostrando a configuração da árvore a cada passo. Questão 23 Na árvore da figura da Questão 21 insira 32, 35, 40, 12, 15 nesta ordem, mostrando a configuração da árvore a cada passo. Questão 24 Modifique o algoritmo de inserção em árvore B, contido no (Folk & Zoellick, 1992) para que, quando n=m na linha 16, seja verificado primeiro se o irmão esquerdo ou o direito de p têm menos de m-1 valores chaves. Se tiverem, então não serão criados nós adicionais. Pelo contrário, uma rotação é feita movendo a maior ou a menor chave de p para seu pai. A chave correspondente no pai, junto com uma subárvore são movidos para o irmão de p que tiver espaço para um outro valor. Questão 25 Escreva um algoritmo que, dada uma árvore-b e uma chave, retorne o sucessor imediato da chave. Idem para o predecessor imediato. Questão 26 O que é uma árvore-b virtual? Como é possível que o número de acessos a disco médio para recuperar uma chave de uma árvore-b virtual com três níveis seja menor que 1? Descreva em pseudocódigo o algoritmo de troca LRU para uma árvore-b virtual com um buffer de 10 páginas. Questão 27 Mostre a cada passo a configuração de uma árvore-b* de ordem 3 ao se inserirem as chaves: M E B D C A F H I J N L. Questão 28 Se a chave BOLEN na árvore-b+ de prefixo simples mostrado na Figura 9.8 do (Folk & Zoellick, 1992) é eliminada, como o separador BO é afetado no nó pai? Questão 29 Faça uma tabela comparando árvore-b, árvore-b+ e árvore-b+ de prefixo simples em relação aos critérios listados abaixo. Assuma que os nós das árvores não contêm os dados em si, mas apenas as chaves e os RRNs correspondentes dos registros de dados. Em alguns casos você será capaz de dar sua resposta baseado na altura ou no número de chaves na árvore. Em outros casos, a resposta dependerá de fatores desconhecidos, tais como padrões de acesso ou a média do comprimento dos separadores.

a) O número de acessos requeridos para recuperar um registro de uma árvore de altura h (médio, melhor e pior caso); b) O número de acessos requeridos para inserir um registro (melhor caso e pior caso); c) O número de acessos requeridos para deletar um registro (melhor caso e pior caso); d) O número de acessos requeridos para processar um arquivo de n chaves sequencialmente, assumindo que cada nó pode armazenar no máximo k e no mínimo k/2 chaves (melhor caso e pior caso).