Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43"

Transcrição

1 AULA A 3 ESTRUTURA RA DE DADOS Árvore B Esperamos que, ao final desta aula, você seja capaz de: identificar as vantagens da árvore B em relação às árvores binária de busca e AVL; conhecer as funções de busca, inserção e remoção da árvore B. Para compreender as árvores B, é necessário conhecer os conceitos sobre árvores apresentados na aula um deste caderno. Isso é importante porque certos conceitos são mencionados com recorrência. Além disso, é importante também conhecer as árvores binárias de busca e AVL, apresentados nas aulas um e dois, respectivamente deste caderno. Esse conteúdo também é necessário, nesta aula, porque a árvore B é, basicamente, uma extensão das árvores binária de busca e AVL. Como estudamos nas aulas anteriores, as árvores binárias armazenam em um nó um único registro e possuem dois nós (esquerdo e direito) como filhos. Essa última característica indica ordem 2 em uma árvore binária. Além disso, vimos que a árvore binária de busca tem como característica armazenar, na subárvore esquerda de um nó, apenas elementos menores do que ele e, na direita, nenhum menor. Podemos ampliar o conceito de armazenamento ordenado da árvore binária de busca para maiores ordens, ou seja, uma árvore de busca com mais de dois filhos por nó. Outra característica que pode ser adiciona é poder armazenar mais de um elemento (registro). Esse conceito é importante porque amplia as possibilidades de armazenamento além manter uma árvore com profundidade menor do que uma árvore UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

2 binária de busca ou árvore AVL. Szwarcfiter e Markenzon (1994, p.160) expõem que, [...] utilizando o recurso de manter mais de uma chave em cada nó da estrutura, proporciona uma organização [...] tal que as operações mencionadas (busca, inserção e remoção) são executas rapidamente (grifo nosso). Árvores com as novas características citadas anteriormente são conhecidas como árvore multidirecional de busca e são descritas nesta aula. Além dela, analisaremos as árvores B. Veremos suas características e como devemos preceder às operações de busca, inserção e remoção. 3.1 Árvore multidirecional de busca Tenenbaum, Langsan e Augenstein (1995, p. 537) definem uma árvore multidirecional de busca de ordem n como [...] uma árvore geral na qual cada nó tem n ou menos subárvores e contém uma chave a menos que a quantidade de suas subárvores. Ou seja, se um nó tiver quatro subárvores, ele conterá três chaves. Na Figura 1, é apresentado um exemplo desse tipo de árvore. Na Figura 1a, é apresentada uma árvore de busca multidirecional de ordem 4. A Figura 1b apresenta outra árvore de busca multidirecional com folhas que não estão somente no último nível, assim como a árvore da Figura 1a. A Figura 1c ilustra outra árvore de busca multidirecional, de ordem 3 e com todas as folhas no último nível. As setas que não apontam para algum nó são subárvores vazias. Figura 1 Exemplos de árvore multidirecional de busca. 44 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

3 Fonte: Tenenbaum, Langsan e Augenstein (1995). Como exemplo do novo tipo de estrutura, árvores multidirecionais de busca, aparece a árvore B, que estudaremos na seqüência. 3.2 Árvores B A árvore B foi proposta por Rudolf Bayer. Não se sabe de onde vem o B do nome da árvore. Uma das hipóteses é que a letra B é a primeira letra do seu sobrenome Bayer. Em países de língua inglesa, as pessoas costumam ser conhecidas por seus sobrenomes. A letra B também é a primeira letra da palavra balanceamento (em inglês balancing). Essa árvore obedece ao conceito de árvore balanceada. Também é uma hipótese plausível. Outra possibilidade, na opinião dos autores deste caderno a menos provável, é que Rudolf Bayer trabalhava na Boeing Scientific Research Labs. Olha outro B aí! Com tanto B na vida dele, árvore B é um nome mais do que justo. Independente de onde realmente veio, a árvore B é uma árvore muito importante e das mais utilizadas para armazenamento de grande quantidade de dados. A árvore B é uma árvore balanceada em que o número de nós acessados em uma busca/inserção/remoção é muito pequeno se comparado às outras árvores estudadas. Outro ponto importante é que a árvore B garante que as folhas se encontrem todas em um mesmo nível, independente da ordem em que os dados serão inseridos. Em outras palavras, Preiss (2000) define uma árvore B de ordem n como uma árvore de busca com as seguintes propriedades: a raiz tem no mínimo duas e no máximo n subárvores; cada um dos nós internos (diferentes da raiz) tem entre n/2 e n subárvores e entre n/2 1 e n 1 elementos; todos os nós externos (folhas) estão no mesmo nível. UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 45

4 Na Figura 2, está expresso um exemplo de árvore B de ordem 4. Repare que essa árvore obedece à definição: a raiz possui duas subárvores (quantidade mínima); todas as folhas estão em um mesmo nível; e todos os nós internos (que não são folhas diferentes da raiz) possuem quatro subárvores, ou seja, entre n/2 e n. Figura 2 Exemplo de árvore B de ordem 4. Fonte: Pimentel e Oliveira (1996). Já sabemos que em uma árvore de ordem n (em que n é um número natural maior do que um), a árvore B pode ter n filhos. Além disso, é balanceada. Nesse caso, precisamos ter algoritmos que garantam essa característica à árvore. Um elemento inserido em uma árvore B é sempre colocado em uma folha. Assim como nas outras árvores e, de acordo com a necessidade, as redistribuições são feitas a fim de garantir que a árvore fique sempre balanceada. Na verdade, a árvore B generaliza as árvores binárias de busca, mais especificamente a árvore AVL. A seguir é apresentada a classe do nó da árvore B. private class NoArvoreB { private Comparable[] chaves; private NoArvoreB[] filhos; private NoArvoreB() { chaves = new Comparable[2*n]; filhos = new NoArvoreB[2*n+1]; } //construtor private NoArvoreB(NoArvoreB copia) { chaves = copia.chaves.clone(); filhos = copia.filhos.clone(); } 46 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

5 //define as chaves private void setchaves(comparable[] c) { chaves = c; } //define os filhos filhos = f; } private boolean isfolha() { return (filhos[0] == null); } } Saiba mais As árvores B são muito utilizadas como forma de armazenamento em memória secundária (como HDs e outros dispositivos de armazenamento secundário com acesso direto). As árvores B se destinam a armazenar grandes tabelas, por isso diversos sistemas comerciais de bancos de dados, por exemplo, as empregam (SZWARCFITER; MARKENZON, 1994). Veremos, na seqüência, como proceder às operações de busca, inserção e remoção na árvore B Busca A busca realizada em uma árvore B é semelhante à busca em uma árvore AVL e, conseqüentemente, a de uma árvore binária de busca. Como é possível armazenar mais de um elemento em um nó, é necessário adicionar testes a serem realizados em cada nó para indicar qual o próximo passo. UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 47

6 Na Figura 3, é ilustrado um exemplo de busca em árvore B. Considere a busca da chave 10. A primeira comparação a ser feita é com a raiz. Como o elemento 10 está à direita de 50, segue a busca para o nó que armazena os elementos 9 e 30. Nesse nó, são realizadas novas comparações a fim de determinarmos para qual filho a busca deverá seguir. Como o elemento é maior do que 9 e menor do que 30, a busca segue para o filho localizado entre 9 e 30. O caminho percorrido está destacado na Figura 3. Figura 3 Busca de um elemento em uma árvore B. Fonte: Szwarcfiter e Markenzon (1994) Inserção Na inserção, devemos nos preocupar com a definição enquanto à ordem da árvore, porque um nó interno (diferente da raiz) deve possuir entre n/2 e n subárvores. Temos de garantir isso. O primeiro passo da inserção é buscarmos a folha na qual será inserido o novo elemento. Em seguida, como segundo passo, devemos verificar se a folha está ou não completa e, se não estiver completa, basta incluir o elemento em sua posição correta dentro do nó. Se o nó estiver cheio, devemos proceder ao segundo passo de forma diferente. Se o nó estiver cheio, ao invés de criar um novo nó com apenas esse novo elemento, devemos dividir o nó cheio. Assim, se algum nó ficar com ordem maior do que n, o nó deve ser dividido. Para isso, o valor central do nó que será dividido sobe para a posição do pai, repetindo recursivamente por toda árvore até a raiz (se necessário). E se a raiz estourar? Nesse caso, um novo nó raiz será criado e poderá ter somente um elemento se necessário. É importante acrescentar que, por proceder à inserção da forma descrita anteriormente, é que se garante que todas as folhas sempre estarão em um mesmo nível. 48 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

7 A seguir é apresentado um exemplo, passo a passo, de inserção em uma árvore B. A Figura 4 apresenta a árvore B inicial. Figura 4 Árvore B inicial. A partir da árvore B inicial, devemos proceder às inserções dos seguintes elementos, respectivamente: B, N, F. A Figura 5 ilustra o resultado da árvore após a inserção normal de B em um nó folha. Figura 5 Inserção do elemento B. Na seqüência, como já é de conhecimento, deve ser inserido o elemento N. Contudo o nó em que deve ser inserido N já está cheio. Assim devemos dividir o nó em dois e subir em um nível o elemento central. Lembre-se de que esse processo repete recursivamente até a raiz. A árvore resultante após a inserção de N é apresentada na Figura 6. Figura 6 Inserção do elemento N. O último passo do exemplo é a inserção do elemento F. Mais uma vez o nó em que deveria ser inserido o novo elemento, nesse caso F, já está cheio. Procedemos à divisão do nó em dois e subimos o elemento central. A Figura 7 apresenta o resultado final da árvore. UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 49

8 Figura 7 Inserção do elemento F Remoção Para a remoção de um elemento, também existem dois casos que merecem atenção: de o elemento a ser inserido estar ou não em uma folha. Além disso, há o problema de, ao remover, um nó não atingir a quantidade mínima de elementos que devem estar armazenados no nó, de acordo com a ordem a árvore. A seguir é apresentado o algoritmo de remoção. 1. Aplicar o procedimento de buscar, verificando a existência do elemento a ser removido na árvore. 2. Se o elemento a ser removido se encontrar em uma folha, o elemento é simplesmente retirado. 3. Se o elemento a ser removido não se encontrar em uma folha (se localizar em um nó interno), é substituído pelo elemento imediatamente maior ou imediatamente menor. Observe que o elemento imediatamente maior ou menor pertence, por definição, a uma folha. Com isso, reduzimos para o caso de remover o elemento da folha. 4. Se o nó continuar com o número mínimo de elementos, fim. 5. Se não, a folha obrigatoriamente tem uma chave a menos que o mínimo. Assim verifique os nós irmãos (imediatamente à esquerda e direita): 5.1 se um dos nós irmãos tiver mais do que o número mínimo de elementos, aplique redistribuição. Lembre-se de que um nó interno deve possuir um mínimo de n/2 1 elementos. A redistribuição consiste em concatenar o nó folha do elemento removido com o do irmão adjacente, o que resulta em um nó maior do que o aceito pela definição. Em seguida, efetue a divisão do nó em dois e suba em um nível o elemento central, igual à divisão da inserção; 5.2 se não, concatene o nó com um dos irmãos e o elemento separador do pai. 6. Se ocorrer concatenação, volte ao passo 4 com o nó pai, porque remover um elemento do pai pode acarretar de o pai não ter mais o número mínimo de elementos. A seguir é apresentado um exemplo, passo a passo, de remoção em uma árvore B. 50 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

9 A Figura 8 apresenta a árvore B inicial. Figura 8 Árvore B inicial. A partir da árvore B inicial, devemos proceder às remoções dos seguintes elementos respectivamente: J, L. Como passo 1 da remoção, é necessário buscar o elemento a ser removido da árvore. É identificado o nó que contém os elementos H e J. Como o elemento se encontra em uma folha, remova o elemento (passo 2). Já que o nó não continua com o número mínimo de elementos (passo 5), execute o passo 5.1 (redistribuição). Faça a redistribuição com o nó irmão da direita. Por ter sido feita uma redistribuição, a remoção é finalizada. O resultado é apresentado na Figura 9. Figura 9 Remoção do elemento J. Agora vamos remover o elemento L. Como passo 1 da remoção, é necessário buscar o elemento a ser removido da árvore. É identificado o nó que contém os elementos H e L. Como o elemento se encontra em uma folha, remova o elemento (passo 2). Uma vez que o nó não continua com o número mínimo de elementos (passo 5), execute o passo 5.2 (concatenação). A concatenação é feita com o pai e o irmão direito, o que resulta em um nó com os elementos H, M, P, T. Execute o passo 6 voltando ao passo 4 para o pai (nó com os elementos F, U). Como o nó pai continua obedecendo à definição acerca do número mínimo de elementos, a remoção é finalizada. O resultado é apresentado na Figura 10. Figura 10 Remoção do elemento L. UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 51

10 Chegamos ao fim desta aula, na qual apresentamos a árvore B e, com isso, encerramos o assunto árvores. É importante ter compreendido o conteúdo exposto aqui para que possamos avançar e discutir outros assuntos também importantes. Se algo não ficou claro, aproveite e revise. As atividades estão aí para isso também. Nesta aula, vimos os conceitos das árvores multidirecionais de busca. Como exemplo desse tipo de estrutura de dados, foi apresentada a árvore B. A árvore B é uma árvore balanceada em que o número de nós acessados em uma busca/ inserção/remoção é muito pequeno se comparado às outras árvores estudadas. Outro ponto importante é que a árvore B garante que as folhas se encontrem todas em um mesmo nível, independente da ordem em que os dados serão inseridos. Nesse sentido, a árvore B é, basicamente, uma extensão da árvore AVL e, conseqüentemente, da árvore binária de busca. Analisamos ainda as funções de busca, inserção e remoção da árvore B, com exemplos. 1. Após ter estudado sobre árvores B e verificado sua superioridade sobre as demais árvores, estudadas em aulas anteriores, analise as afirmativas. Em seguida, assinale a alternativa correta. I. De forma diferente das árvores binárias, cada nó de uma árvore B poderá ter mais de dois filhos. II. Um nó de árvore B tem um campo ou um método para indicar se é um nó folha ou não. Já a implementação padrão de um nó AVL não costuma ter esse campo ou método. III. As folhas da árvore B são dispostas mais flexivelmente que as da árvore binária: suas folhas poderão estar em níveis diferentes, desde zero até o valor da altura da árvore. IV. As árvores B são árvores balanceadas projetadas para trabalhar com dispositivos de armazenamento secundário. a) Todas as afirmativas estão corretas. b) Somente as afirmativas II e III estão corretas c) Somente as afirmativas I, II e IV estão corretas. d) Somente as afirmativas I, III e IV estão corretas. 2. Após ler as características da árvore B, unindo esse conhecimento com o já adquirido por meio do estudo das árvores binárias de busca e AVL, liste as principais vantagens da árvore B em relação às demais. 52 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

11 3. Sobre as funções de inserção, busca e remoção de nós em uma árvore B, analise os itens a seguir. I. Para se inserir um novo nó em uma árvore B, será necessária a localização do nó folha em que o novo elemento deve ser inserido. Se o nó estiver cheio, será necessário dividi-lo em dois, passar o elemento mediano para o pai. II. Embora seja semelhante à busca realizada em uma árvore binária de busca, essa função em uma árvore B se difere pelo fato de que se deve decidir entre vários caminhos. III. A remoção de um nó de uma árvore B pode ser dividida em três casos: o nó a ser removido está em um nó interno, o nó a ser removido está em uma folha e o nó a ser removido está desconectado da árvore. IV. Em uma árvore B, no caso da remoção de um nó que não é folha, o nó sucessor (que se localiza em uma folha) será movido para a posição a ser removida, e o processo de remoção ocorre como se o nó sucessor fosse removido do nó folha. Assinale a alternativa correta. a) Todas as afirmativas estão corretas. b) Somente as afirmativas II e III estão corretas c) Somente as afirmativas I, II e IV estão corretas. d) Somente as afirmativas I, III e IV estão corretas. 4. Escreva um programa em Java, que possibilite a inserção e a exibição dos elementos de uma árvore B. Use a classe Comparable para definir o tipo de dado armazenado (armazene valores inteiros). Teste o algoritmo com várias entradas de sua preferência. Na atividade um, a resposta correta é a letra (c). A alternativa (III) está errada, pois, em uma árvore B, todas as folhas estão em um mesmo nível. As demais alternativas estão de acordo com os assuntos explanados nesta aula e nas aulas anteriores. Na atividade dois, você deve ter comparado características da árvore B com características da árvore binária de busca e da AVL. A partir dessa comparação, deve ter listado as vantagens da árvore B sobre a AVL e binária de busca. Mencionou que a árvore B permanece sempre balanceada (já as árvores binárias e AVL requerem aplicação de algoritmos de balanceamento), pois os nós são inseridos sempre no último nível. Também citou a vantagem da velocidade de pesquisa que a árvore B proporciona, superior a da pesquisa da árvore UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 53

12 binária, bem como economia em acessos a disco, caso ela já esteja carregada em memória. Na atividade três, a resposta correta é a letra (c). A afirmativa (III) erra ao acrescentar uma terceira situação de remoção ( o nó a ser removido está desconectado da árvore, caso inexistente). As demais alternativas estão de acordo com os assuntos explanados em aula e estudados em materiais referenciados. Finalmente, na atividade quatro, você deve ter desenvolvido um aplicativo em Java que, no mínimo, insira e liste elementos em uma árvore B. Testou o programa a partir da inserção de vários valores inteiros escolhidos de sua preferência. Na impressão, deve ter sido possível visualizar no console de saída os inteiros armazenados na árvore, a partir de comandos de saída, a exemplo de System.out.println(no.toString()). Se você respondeu corretamente a essas questões, atingiu os dois objetivos propostos para esta aula: identificar as vantagens da árvore B em relação às árvores binárias de busca e AVL e conhecer as funções de busca, inserção e remoção da árvore B. PIMENTEL, Maria da G. C.; OLIVEIRA, Maria C. F. B-Trees & Cia Disponível em: <http://www.icmc.usp.br/manuals/sce183/ex8_5.gif>. Acesso em: 27 ago PREISS, Bruno R. Estrutura de dados e algoritmos. São Paulo: Campus, SUN, Javadoc. Interface comparable. Disponível em: <http://java.sun.com/ j2se/1.4.2/docs/api/java/lang/comparable.html>. Acesso em: 29 ago SZWARCFITER, Jayme Luiz; MARKENZON, Lílian. Estruturas de dados e seus algoritmos. Rio de Janeiro: LTC, TENENBAUM, Aaron M.; LANGSAN, Yedidyah; AUGENSTEIN, Moshe J. Estrutura de dados usando C. São Paulo: Makron Books, Após encerrarmos as árvores, passearemos pelos arquivos em Java, Veremos como se criam arquivos de texto de acesso binário, aleatório e seqüencial e como se classifica sua estrutura interna de acesso. Anotações 54 3º PERÍODO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNITINS

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

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Procedimento para Inserir na Árvore Binária Critérios: Atingir um ponteiro nulo em um processo de pesquisa significa uma pesquisa sem sucesso. O ponteiro

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios

Leia mais

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca

Leia mais

Árvore Binária de Busca

Árvore Binária de Busca Árvore Binária de Busca 319 Árvore Binária de Busca! construída de tal forma que, para cada nó:! nós com chaves menores estão na sub-árvore esquerda! nós com chaves maiores (ou iguais) estão na subárvore

Leia mais

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura Árvores B + Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Lopes Moura Árvore B + A árvore B + é uma variação da estrutura básica da árvore B. Características:

Leia mais

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.

Leia mais

Unidade 5 Armazenamento e Indexação

Unidade 5 Armazenamento e Indexação Unidade 5 Armazenamento e Indexação Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Estruturas de Dados I

Estruturas de Dados I UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos jupcampos@gmail.com Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.

Leia mais

EAD Árvore árvore binária

EAD Árvore árvore binária EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore

Leia mais

Figura 13.1: Um exemplo de árvore de diretório.

Figura 13.1: Um exemplo de árvore de diretório. 13. Árvores W. Celes e J. L. Rangel Nos capítulos anteriores examinamos as estruturas de dados que podem ser chamadas de unidimensionais ou lineares, como vetores e listas. A importância dessas estruturas

Leia mais

Linguagem C: Árvores Binarias

Linguagem C: Árvores Binarias Instituto de C Linguagem C: Árvores Binarias Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Árvores binárias Implementação

Leia mais

Árvores Binárias. Observação: Material elaborado a partir do material do Professor Marcos Costa.

Árvores Binárias. Observação: Material elaborado a partir do material do Professor Marcos Costa. Árvores Binárias Observação: Material elaborado a partir do material do Professor Marcos Costa. Árvores Binárias Árvore binária é definida como um conjunto finito de nós que Ou está vazio Ou consiste de

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

Leia mais

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados Árvores AVL Prof. Othon M. N. Batista Estrutura de Dados Roteiro (/2) Árvore Binária de Pesquisa - Pior Tempo ABP Balanceada e Não Balanceada Balanceamento de Árvores Balanceamento de ABP Balanceamento

Leia mais

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

Algoritmos e Estruturas de Dados 2

Algoritmos e Estruturas de Dados 2 Algoritmos e Estruturas de Dados 2 Unidade 1: Árvores binárias Rafael Beserra Gomes Universidade Federal do Rio Grande do Norte Material compilado em 21 de fevereiro de 201. Licença desta apresentação:

Leia mais

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo Árvores Balanceadas As árvores binárias de pesquisa são, em alguns casos, pouco recomendáveis para as operações básicas (inserção, remoção e busca) Árvores binárias de pesquisa degeneradas tornam as operações

Leia mais

EAD Árvore - representação usando listas ligadas

EAD Árvore - representação usando listas ligadas 4.1. Definição É uma árvore binária em que os seus nodos têm associado uma chave, que - determina a sua posição de colocação na árvore e - obedece às seguintes regras: a chave de um nodo é - maior do que

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

BC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br

BC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br BC1424 Algoritmos e Estruturas de Dados I Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 2 Árvores Uma árvore é uma estrutura de dados mais geral que uma lista

Leia mais

Google Drive: Acesse e organize seus arquivos

Google Drive: Acesse e organize seus arquivos Google Drive: Acesse e organize seus arquivos Use o Google Drive para armazenar e acessar arquivos, pastas e documentos do Google Docs onde quer que você esteja. Quando você altera um arquivo na web, no

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Árvores. Algoritmos e Estruturas de Dados 2005/2006

Árvores. Algoritmos e Estruturas de Dados 2005/2006 Árvores Algoritmos e Estruturas de Dados 2005/2006 Árvores Conjunto de nós e conjunto de arestas que ligam pares de nós Um nó é a raiz Com excepção da raiz, todo o nó está ligado por uma aresta a 1 e 1

Leia mais

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Pesquisa: Recuperação de informação em um grande volume de dados Informação é dividida em registros e cada

Leia mais

Estruturas de Dados Árvores

Estruturas de Dados Árvores Estruturas de Dados Árvores Prof. Eduardo Alchieri Árvores (introdução) Importância de estruturas unidimensionais ou lineares (vetores e listas) é inegável Porém, estas estruturas não são adequadas para

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

Estruturas de Dados Pilhas, Filas e Deques Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem

Leia mais

Introdução. Árvore B. CaracterísMcas. Origem do Nome. Exemplo. Grau. Rohit Gheyi. B vem de balanceamento

Introdução. Árvore B. CaracterísMcas. Origem do Nome. Exemplo. Grau. Rohit Gheyi. B vem de balanceamento Árvore B Rohit Gheyi Introdução Rudolf Bayer, Binary B Trees for Virtual Memory, ACM SIGFIDET Workshop 97, San Diego, California, Session B, p. 9 3 MoMvação Custo alto de acesso a memória secundária A

Leia mais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

Estrutura de Dados. Ricardo José Cabeça de Souza www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br. Parte 1

Estrutura de Dados. Ricardo José Cabeça de Souza www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br. Parte 1 Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 1 MODELO DE UM COMPUTADOR CPU Central Processing Unit MODELO DE UM COMPUTADOR O canal de comunicação (conhecido como BUS)

Leia mais

Classificação e Pesquisa de Dados

Classificação e Pesquisa de Dados Classificação e Pesquisa de Dados Aula 20 Árvores B e B+ B-Trees (Árvores B) [Bayer & McCreight 1970] UFRGS INF01124 B-Trees (Árvores B) Árvores de pesquisa balanceadas, projetadas para minimizar o tempo

Leia mais

FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo

FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo 1 FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2 Vieira Lima Junior Everson Santos Araujo ALGORITMOS DE ORDENAÇÃO: estudo comparativo de diversos algoritmos

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

Hashing Letícia Rodrigues Bueno

Hashing Letícia Rodrigues Bueno Hashing Letícia Rodrigues Bueno UFABC hash: Hashing (Tabelas de Dispersão): Introdução hash: Hashing (Tabelas de Dispersão): Introdução Hashing (Tabelas de Dispersão): Introdução hash: 1. fazer picadinho

Leia mais

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira ÁRVORES ED2: MSc. Daniele Oliveira 2 Introdução Filas, pilhas» Estruturas Lineares Um dos exemplos mais significativos de estruturas não-lineares são

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

Algoritmos e Estrutura de Dados II. Apresentação. Prof a Karina Oliveira. kkco@dei.unicap.br

Algoritmos e Estrutura de Dados II. Apresentação. Prof a Karina Oliveira. kkco@dei.unicap.br Algoritmos e Estrutura de Dados II Apresentação Prof a Karina Oliveira kkco@dei.unicap.br Ementa Proporcionar ao aluno conhecimento teórico e prático para seleção, construção e manipulação de estrutura

Leia mais

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

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa Programação Funcional 15 a Aula Árvores de pesquisa Pedro Vasconcelos DCC/FCUP 2014 Árvores binárias Um árvore binária é um grafo dirigido, conexo e acíclico em que cada vértice é de um de dois tipos:

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

Algoritmos e Estruturas de Dados: Árvore Binária de Busca

Algoritmos e Estruturas de Dados: Árvore Binária de Busca Busca pelo nodo 72 Árvore Binária de Busca Introdução 2/21 Algoritmos e Estruturas de Dados: Árvore Binária de Busca 44 Raiz Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br

Leia mais

Classificação e Pesquisa

Classificação e Pesquisa Classificação e Pesquisa Árvores Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária Métodos de ordenação seleção e troca

Leia mais

1. Arquivos Seqüenciais

1. Arquivos Seqüenciais 1. Arquivos Seqüenciais 1.1. Introdução Historicamente, os arquivos seqüências são associados as fitas magnéticas devido a natureza seqüencial deste meio de gravação. Mas os arquivos seqüências são também

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Pesquisa digital. Algoritmos e Estruturas de Dados II

Pesquisa digital. Algoritmos e Estruturas de Dados II Pesquisa digital Algoritmos e Estruturas de Dados II Pesquisa digital A pesquisa digital usa a representação das chaves para estruturar os dados na memória Por exemplo, a representação de um número em

Leia mais

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

Banco de Dados Microsoft Access: Criar tabelas

Banco de Dados Microsoft Access: Criar tabelas Banco de Dados Microsoft Access: Criar s Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na. 3. Criar uma no modo

Leia mais

Tutorial 5 Questionários

Tutorial 5 Questionários Tutorial 5 Questionários A atividade Questionário no Moodle pode ter várias aplicações, tais como: atividades de autoavaliação, lista de exercícios para verificação de aprendizagem, teste rápido ou ainda

Leia mais

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índices* Professora Rosane Minghim * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índice Em geral, um índice fornece mecanismos para localizar

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Uma árvore binária é: uma árvore vazia; ou uma árvore onde qualquer

Leia mais

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos Banco de Dados Microsoft Access: Criar tabelas Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma tabela no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na tabela.

Leia mais

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

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes

Leia mais

Organizações Básicas de Arquivos

Organizações Básicas de Arquivos Estrtura de Dados II Organizações Básicas de Arquivos Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Introdução Armazenamento de pequeno volume de dados Distribuição simples dos

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Página 1. Manual do Operador de Caixa

Página 1. Manual do Operador de Caixa Página 1 Manual do Operador de Caixa Página 2 Sumário Conhecendo a tela de abertura do sistema... 03 Tela principal do sistema... 05 Tela de consulta... 06 Inserir clientes na venda... 07 Funções especiais...

Leia mais

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Busca em Memória. Secundária

Busca em Memória. Secundária UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Busca em Memória Secundária e Gomes da Costa yandre@din.uem.br 1 Busca de um item em uma massa de dados que não cabe na memória principal; Procura-se

Leia mais

Árvores Binárias e Busca. Jeane Melo

Árvores Binárias e Busca. Jeane Melo Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto

Leia mais

Árvore B, B* e B+ Slides: Profa. Dra. CrisAna Dutra de Aguiar Ciferri. Murilo Gleyson Gazzola. ICMC- USP - Base de Dados

Árvore B, B* e B+ Slides: Profa. Dra. CrisAna Dutra de Aguiar Ciferri. Murilo Gleyson Gazzola. ICMC- USP - Base de Dados Árvore B, B* e B+ Murilo Gleyson Gazzola Slides: Profa. Dra. CrisAna Dutra de Aguiar Ciferri 1 Tópicos - Árvore de Pesquisa - Árvore B - Árvore B* - Arvore B+ 2 Estrutura de Dados de Árvore A Legenda nó

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

Métodos Computacionais. Árvores

Métodos Computacionais. Árvores Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos

Leia mais

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira Introdução Uma árvore de pesquisa binária são estruturas de dados que admitem operações

Leia mais

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação 1I Prof. Osório Árvores Genéricas Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem

Leia mais

Web site. Objetivos gerais. Introdução. http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados. Profa. Patrícia Dockhorn Costa

Web site. Objetivos gerais. Introdução. http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados. Profa. Patrícia Dockhorn Costa Web site http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados Estruturas de Dados Aula 1: Introdução e conceitos básicos Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br 01/03/2010

Leia mais

Aritmética Binária e. Bernardo Nunes Gonçalves

Aritmética Binária e. Bernardo Nunes Gonçalves Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária

Leia mais

Módulo 1 Configuração de Cursos. Robson Santos da Silva Ms.

Módulo 1 Configuração de Cursos. Robson Santos da Silva Ms. Módulo 1 Configuração de Cursos Robson Santos da Silva Ms. Olá! Estamos iniciando o Módulo 1. Nele, aprenderemos a configurar um novo curso no MOODLE. Além disso, identificaremos os dispositivos e ferramentas

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Árvores Binárias - continuação

Árvores Binárias - continuação Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Uma Aplicação de Árvores Binárias Árvores Binárias - continuação As árvore binárias são estruturas importantes toda vez que uma

Leia mais

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456

Leia mais

Organização de Arquivos

Organização de Arquivos Classificação e Pesquisa de Dados Aula 2 Organização de s: s Sequenciais e s Sequenciais Indexados UFRGS INF01124 Organização de s Propósito Estudo de técnicas de armazenamento e recuperação de dados em

Leia mais

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Para resolver as questões abaixo considere o Sistema Operacional Microsoft Windows Vista

Para resolver as questões abaixo considere o Sistema Operacional Microsoft Windows Vista Nome: Gabarito Para resolver as questões abaixo considere o Sistema Operacional Microsoft Windows Vista 1) O Centro das configurações do Windows, onde pode ser acessado cada um dos dispositivos componentes

Leia mais

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções:

De uma forma ampla, o profissional egresso deverá ser capaz de desempenhar as seguintes funções: PLANO DE ENSINO 1. Identificação Curso: Tecnologia em Desenvolvimento de Software Disciplina: Estrutura de Dados Professor: Msc. Tiago Eugenio de Melo CPF: Regime de Trabalho: 40h CH. Semestral: 100h Siape:

Leia mais

Migrando para o Outlook 2010

Migrando para o Outlook 2010 Neste guia Microsoft O Microsoft Outlook 2010 está com visual bem diferente, por isso, criamos este guia para ajudar você a minimizar a curva de aprendizado. Leia-o para saber mais sobre as principais

Leia mais

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais. MICROSOFT WINDOWS O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais. Apresentaremos a seguir o Windows 7 (uma das versões do Windows)

Leia mais

Universidade Estadual de Mato Grosso do Sul - Curso de Ciência da Computação Disciplina: Estruturas de Dados Profª. Raquel Marcia Müller

Universidade Estadual de Mato Grosso do Sul - Curso de Ciência da Computação Disciplina: Estruturas de Dados Profª. Raquel Marcia Müller 1 Listas Lineares Dentre as estruturas de dados não primitivas, as listas lineares são as de manipulação mais simples. Uma lista linear agrupa informações referentes a um conjunto de elementos que, de

Leia mais

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista. Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados I (INF09292) 1 o Trabalho Prático Período: 2013/1 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de

Leia mais

Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS

Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS Série : 3 º Período - 1 º Semestre de 2011 Professora : Elzi Ap. Gil 3. LISTAS LINEARES PARTE - III Disciplina - Estrutura de Dados Segundo Pereira(2002),

Leia mais

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Coleções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Coleções Avançadas Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender como o conceito de coleção pode ser expresso de forma genérica Examinar

Leia mais

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 Índice i Índice Capítulo 4 Estrutura de Dados não sequencial com armazenamento não sequencial ( Árvore ) 1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 2. Árvores binárias... 2

Leia mais

Aula T20 BCC202 Pesquisa (Parte 2) Árvores de Pesquisa. Túlio Toffolo www.decom.ufop.br/toffolo

Aula T20 BCC202 Pesquisa (Parte 2) Árvores de Pesquisa. Túlio Toffolo www.decom.ufop.br/toffolo Aula T20 BCC202 Pesquisa (Parte 2) Árvores de Pesquisa Túlio Toffolo www.decom.ufop.br/toffolo Árvore AVL n Árvore binária de busca tal que, para qualquer nó interno v, a diferença das alturas dos filhos

Leia mais