Árvores Binárias Balanceadas

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Árvores Binárias Balanceadas"

Transcrição

1 Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli

2 Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios estão no mesmo nível, ou seja, que a árvore está completa. A árvore que não está balanceada, define-se como degenerada d c d b d b f a Árvore binária balanceada. b (a) f c e g a (b) e Árvore binária Degenerada f g a (c) c e g Árvore binária Incompleta Balanceada h

3 Árvores Balanceadas Balanceamento Estático O balanceamento estático de uma árvore binária consiste em construir uma nova versão, reorganizando-a. Balanceamento Dinâmico: AVL Árvore AVL em homenagem aos matemáticos russos (Adelson- Velskii e Landism -1962) Uma árvore AVL é uma árvore binária de pesquisa onde a diferença em altura entre as subárvores esquerda e direita é no máximo 1 (positivo ou negativo). A essa diferença chamamos de fator de balanceamento de n (FatBal (n)). Essa informação deverá constar em cada nó de uma árvore balanceada

4 Árvores AVL Assim, para cada nodo podemos definir um fator de balanceamento (FB), que vem a ser um número inteiro igual a FB(nodo p) = altura(subárvore direita p) - altura(subárvore esquerda p) O Fator de uma folha é sempre Zero (0)

5 Árvores Balanceadas Exemplos de árvores AVL e árvores não-avl. Os números nos nodos representam o FB para cada nodo. Para uma árvore ser AVL os fatores de balanço devem ser necessariamente -1, 0, ou 1. Exemplos de árvores AVL Exemplos de árvores não AVL

6 BALANCEAMENTO DE ÁRVORES AVL Inicialmente inserimos um novo nodo na árvore. A inserção deste novo nodo pode ou não violar a propriedade de balanceamento. Caso a inserção do novo nodo não viole a propriedade de balanceamento podemos então continuar inserindo novos nodos. Caso contrário precisamos nos preocupar em restaurar o balanço da árvore. A restauração deste balanço é efetuada através do que denominamos ROTAÇÕES na árvore.

7 Árvores AVL Se quisermos manter a árvore balanceada a cada inserção, devemos ter um algoritmo que ajuste os fatores de balanceamento O algoritmo corrige a estrutura através de movimentação dos nós, ao que chamamos de rotação.

8 BALANCEAMENTO DE ÁRVORES AVL Exemplos Vamos considerar a seguinte árvore (os números ao lado dos nodos são o FB de cada nodo): A árvore acima está balanceada, como podemos observar pelos FB de cada nodo. Os casos possíveis de desbalanceamento são 2. Veremos cada um deles.

9 Tipo 1 - ROTAÇÃO DUPLA Ao inserir o número 5 na árvore. Esta inserção produziria a seguinte árvore: O nodo 8 fica com o FB -2 e tem um filho com FB +1. Neste caso o balanceamento é atingido com duas rotações, também denominada ROTAÇÃO DUPLA. Primeiro rotaciona-se o nodo com FB 1 para a esquerda.

10 Tipo 1 - ROTAÇÃO DUPLA A árvore fica: A seguir rotaciona-se o nodo que tinha FB -2 na direção oposta (direita neste caso).

11 Tipo 1 - ROTAÇÃO DUPLA A árvore fica: Os FB nos nodos voltaram a ficar dentro do esperado das árvores AVL. O caso simétrico ao explicado acima acontece com os sinais de FB trocados, ou seja, um nodo com FB +2 com um filho com FB -1. Também utilizariamos uma rotação dupla, mas nos sentidos contrários, ou seja, o nodo com FB -1 seria rotacionado para a direita e o nodo com FB +2 seria rotacionado para a esquerda.

12 Tipo 2 - ROTAÇÃO Simples Suponha que queremos inserir o nodo 3 na árvore inicial. A inserção produziria a seguinte árvore: A inserção do nodo 3 produziu um desbalanço no nodo 8 verificado pelo FB -2 neste nodo. Neste caso, como os sinais dos FB são os mesmos (nodo 8 com FB -2 e nodo 4 com FB -1) significa que precisamos fazer apenas uma ROTAÇÃO SIMPLES à direita no nodo com FB -2. No caso simétrico (nodo com FB 2) faríamos uma rotação simples à esquerda.

13 Tipo 2 - ROTAÇÃO Simples Após a rotação simples a árvore ficaria: Observe que os FB estão dentro do esperado para mantermos a propriedade de balanceamento de árvores AVL.

14 A descrição do algoritmo em pseudo-código para construção de uma árvore AVL: 1. Insira o novo nodo normalmente (ou seja, da mesma maneira que inserimos numa ABB); 2. Iniciando com o nodo pai do nodo recém-inserido, teste se a propriedade AVL é violada neste nodo, ou seja, teste se o FB deste nodo é maior do que abs(1). Temos aqui 2 possibilidades: 2.1 A condição AVL foi violada Execute as operações de rotação conforme for o caso (Tipo 1 ou Tipo 2) Volte ao passo A condição AVL não foi violada. Se o nodo recém-testado não tem pai, ou seja, é o nodo raiz da árvore, volte para inserir novo nodo (Passo 1)

15 Dicas: Árvores AVL 1. Para identificarmos quando uma rotação é simples ou dupla observamos os sinais de FatBal: se o sinal for igual, a rotação é simples. se o sinal for diferente a rotação é dupla. 2. Se FB+ rotação para esquerda 3. Se FB- rotação para direita

16 Exercícios

17 Exercício 1 Considere a inserção dos seguintes valores (nesta ordem) em uma árvore AVL: 5,3,8,2,4,7,10,1,6,9,11. Para essas inserções nenhuma rotação é necessária. Desenhe a árvore AVL resultante e determine o fator de balanceamento de cada nó.

18 Exercício 2 Construir uma árvore AVL com os seguintes dados: a) Inserir inicialmente 10, 20, 30 b) Se necessário fazer balanceamento c) Inserir 25 e 27 d) Se necessário fazer balanceamento

19 Resolução do Exercício 2 A inserção dos 3 primeiros números resulta na seguinte árvore: Após a inserção do elemento 30 a árvore fica desbalanceada. O caso acima é do Tipo 2. Fazemos uma rotação para a esquerda no nodo com FB 2. A árvore resultante fica:

20 Resolução do Exercício 2 O passo seguinte é inserir os nodos 25 e 27. A árvore fica desbalanceada apenas após a inserção do nodo 27 Este caso é do Tipo 1. O nodo 30 tem FB -2 e o seu nodo filho tem FB 1. Precisamos efetuar uma rotação dupla, ou seja, uma rotação simples à esquerda do nodo 25, resultando:

21 Resolução do Exercício 2 seguida de uma rotação simples à direita do nodo 30, resultando: e a árvore está balanceada.

22 Exercício 3 Determinado sistema armazena registros por chaves numéricas em uma árvore AVL. Nessa árvore são inseridos os seguintes valores: 20,10,5,30,25,27 e 28 nessa ordem. Apresente passo a passo como a árvore vai sendo construída. Realize as rotações necessárias e indique qual rotação foi realizada em cada caso.

23 Resolução: Exercício 3 1) Inserção das chaves 20 e 10, nessa ordem A árvore ficou pendendo para a esquerda O fator de balanceamento do nó cuja chave é 20 é -1. O fator de uma folha é sempre 0 (zero). 2)...Continuar as inserções 20 (-1) 10 (0)

24 Árvores Multivias (Multiway tree)

25 Árvores Multivias Em uma árvore binária, cada nó possui um item de dado e pode ter até dois filhos. Se permitirmos o uso de mais itens de dados e filhos por nó, o resultado é uma árvore Multivias ou M-vias (multiway tree). Uma Estrutura Multivia com algoritmo eficiente deve considerar: Tempo de acesso a cada nó Balanceamento da árvore. As árvores 2-3-4, são árvores multivias que podem ter até quatro filhos e três itens de dados por nó.

26 Árvores Árvores são interessantes por várias razões: São árvores balanceadas. Fáceis de programar. Servem como uma introdução para árvores B.

27 Árvores A figura mostra uma pequena árvore Cada nó pode conter um, dois ou três itens de dados

28 Árvores Um nó interno deve sempre ter um filho a mais que seus itens de dados. Um nó folha, ao contrário, não possui filhos, mas ele pode conter um, dois ou três itens de dados. Nós vazios não são permitidos. Devido a uma árvore possuir nós com até quatro filhos, ela é chamada de árvore multivias de ordem 4 (multiway tree of order 4).

29 Árvores O 2, 3 e 4 no nome árvore referem-se a quantos links para filhos podem potencialmente estar contidos em um dado nó. Para nós internos (não folhas), três combinações são possíveis: um nó com um item de dado sempre possuirá dois filhos; um nó com dois itens de dados sempre possuirá três filhos; um nó com três itens de dados sempre possuirá quatro filhos

30 Árvores Por que uma árvore não échamada de árvore ? Um nó não pode ter somente um filho, como os nós na árvore binária Um nó com um item de dado precisa sempre ter dois links, a menos que seja uma folha, neste caso, ele não possui links.

31 Árvores Um nó com dois links é chamado 2-nós, Um nó com três links é chamado 3-nós Um nó com quatro links é chamado 4-nós nós nós nós

32 Árvores X Árvore Binária Em uma árvore binária, todos os filhos com chaves menores que a chave do nó estão enraizados no nó filho à esquerda, e todos os filhos com chaves maiores ou iguais a chave do nó estão enraizados no nó filho à direita. Na árvore o princípio é o mesmo, mas existe algo mais:

33 Árvores todos os itens de dados na sub-árvore enraizada no filho 0, possuem valores menores do que a chave 0; todos os itens de dados na sub-árvore enraizada no filho 1, possuem valores maiores do que a chave 0, mas menores do que a chave1; todos os itens de dados na sub-árvore enraizada no filho 2, possuem valores maiores do que a chave 1, mas menores do que a chave2; todos os itens de dados na sub-árvore enraizada no filho 3, possuem valores maiores do que a chave 2. Valores duplicados geralmente não são permitidos. Deste modo nós não necessitamos nos preocupar com a comparação de chaves iguais. A B C Nó com chaves menores do que A Nó com chaves entre A e B Nó com chaves entre B e C Nó com chaves maiores do que C

34 Pesquisa em árvores Exemplo: Para pesquisar por um item de dado com a chave 64 na árvore da figura, você inicia na raiz, porém não encontra o item. Por que 64 é maior do que 50, você vai para o filho 1, o qual nós representamos com 60,70 e 80. Você não encontra o item de dado, assim você precisa passar para o próximo filho. Aqui, devido a 64 ser maior do que 60, mas menor do que 70, você vai novamente para o filho 1. Desta vez você encontra o item específico no link 62, 64 e

35 Inserção em árvore Novos itens de dados são sempre inseridos nas folhas. Se os itens foram inseridos em um nó com filhos, então o número de filhos necessitará ser mudado para manter a estrutura da árvore, o que estipula que esta árvore deve ter um filho a mais do que os itens de dados em um nó. O processo de inserção inicia pela pesquisa do nó folha apropriado. Se nós que não estão cheios são encontrados durante a pesquisa, a inserção é fácil. A inserção pode envolver a movimentação de um ou dois itens em um nó. As chaves deverão estar na ordem correta após o novo item ser inserido.

36 Exemplo 1: Inserção em árvore Inserção de um item (18) sem divisão do nó a) Antes da inserção O item 23 vai ser deslocado para direita para abrir espaço para inserir o item 18. b) Depois da inserção é inserido 23 é deslocado para direita

37 Exemplo 2 - Inserção em árvore Com Divisão de nós As inserções tornam-se mais complicadas se um nó cheio é encontrado no caminho abaixo do ponto de inserção. Quando isto acontece, o nó precisa ser dividido (split). É este processo de divisão que mantêm a árvore balanceada. O tipo de árvore que estamos vendo é freqüentemente chamada de árvore topdown, por que os nós são divididos de maneira para baixo do ponto de inserção.

38 Inserção em árvore Chamaremos os itens de dados a serem divididos por A, B e C. assumimos que o nó a ser dividido não é o raiz, nós examinaremos a divisão da raiz depois a) Antes da inserção 62 inserção do nó a ser dividido A B C

39 Inserção em árvore a) Antes da inserção 62 inserção do nó a ser dividido A B C Um novo nó vazio é criado. Ele é parente (sibling) do nó que está sendo dividido, e é colocado a sua direita; O item de dado C é movido para o novo nó; O item de dado B é movido para o pai do nó que está sendo dividido; O item de dado A fica aonde ele está; Os dois filhos mais à direita são desconectados do nó que está sendo dividido e são conectados no novo nó. b) Após a inserção movido para cima 83 fica no lugar B 104 foi p/ direita A novo nó C 99 inserido

40 Exemplo 3 - Inserção em árvore Dividindo a raiz Quando uma raiz cheia é encontrada no inicio da pesquisa para encontrar o ponto de inserção, o resultado da divisão é ligeiramente mais complicado: inserção do 41 a) Antes da inserção raiz a ser dividido A B C

41 Inserção em árvore um novo nó é criado, tornandose a nova raiz, e os pais do novo nó são divididos; um segundo novo nó é criado, tornando-se parente (sibling) do nó que está sendo dividido; inserção do 41 a) Antes da inserção A B C o item de dado C é movido para o novo nó parente; o item de dado B é movido para a nova raiz; o item de dado A é deixado aonde está; os dois filhos mais a direita do nó que está sendo dividido são desconectados dele e conectados no novo nó do lado direito. raiz a ser dividido b) Após a inserção 49 é movido p/cima 26 fica no lugar 49 B novo nó raiz movido p/ direita 72 novo nó à direita A C inserido

42 Árvores B

43 Árvore B São árvores de pesquisa balanceadas especialmente projetadas para a pesquisa de informação em discos magnéticos e outros meios de armazenamento secundário. Minimizam o número de operações de movimentação de dados (escrita/leitura) numa pesquisa ou alteração. O grau de um nó pode ser alto. Podem ser consideradas como uma generalização natural das árvores de pesquisa binárias.

44 Árvores B As árvores são uma boa abordagem para dados em memória. Mas, as árvores trabalham com arquivos? Elas trabalham, mas um tipo diferente de árvore precisa ser usado para dados externos do que para dados em memória. A árvore apropriada é um árvore múltivias, parecida com uma árvore 2-3-4, mas com muito mais itens de dados por nó Ela se chama Árvore B (tree-b). As árvores B foram concebidas como estrutura apropriada para armazenamento externo por R. Bayer e E. M. McCreight em Árvores M-Vias permanentemente balanceadas são chamadas de Árvore B.

45 Árvores B - Um bloco por nó O acesso a disco é mais eficiente quando o dado é lido ou escrito em um bloco de uma só vez. Em uma árvore, a entidade que contêm dados é o nó. Ideal: armazenar um bloco inteiro de dados em cada nó da árvore. Deste modo, ler um nó acessa um conjunto máximo de dados em um curto espaço de tempo.

46 Árvores B - Links Em uma árvore, precisamos também armazenar os links para outros nós. Em uma árvore em memória, estas ligações são referências (ou ponteiros, em linguagens como Pascal e C) para os nós em outras partes da memória. Para as árvores armazenadas em um arquivo em disco, as ligações (links) são números de blocos em um arquivo.

47 Árvores B x Árvores Dentro de cada nó os dados são ordenados seqüencialmente pela chave, como nas árvores A estrutura de uma árvore B é similar a de uma árvore 2-3-4, exceto que na árvore B existem mais itens de dados por nó e mais links para nós filhos.

48 Árvores B Características A raiz tem no mínimo uma chave e dois filhos Uma folha tem no mínimo d chaves e não tem filhos Todas as folhas estão no mesmo nível (balanceamento)

49 Pesquisa em Árvores B Primeiro, o bloco contendo a raiz é lido. O algoritmo de pesquisa então inicia a verificação de cada um dos registros (se ele não estiver cheio, tantos quantos o nó atualmente armazena) iniciando pelo registro 0. Quando ele encontra um registro com chave maior, ele sabe que deve ir para o filho que reside entre este registro e o precedente. Este processo continua até o nó correto ser encontrado. Se uma folha é alcançada sem encontrar a chave específica, a pesquisa não obteve sucesso.

50 Inserção em Árvores B Em uma árvore B é importante manter um nó tão cheio quanto possível; deste modo cada acesso à disco, o qual lê uma entrada de um nó, pode adquirir o máximo de quantidade de dados.

51 Construção de uma pequena árvore B A figura (a) mostra um nó raiz que já está cheio; Itens com chaves 20,40,60 e 80 já foram inseridas na árvore. Um novo item de dado com a chave 70 deve inserido, resultando na divisão de um nó. A raiz está sendo dividida, dois novos nós são criados: uma nova raiz e um novo nó para a direita do que está sendo dividido. (a)

52 Construção de uma pequena árvore B Na figura (b) inserimos mais dois itens: 10 e30. Eles preenchem totalmente ofilho da esquerda, tal como apresentado nas figura (c). O próximo item a ser inserido, esquerda, como visto na figura (d). 15, divide o filho à Aqui oitem 20 foi promovido para cima, na raiz. (b) (c) (d)

53 Construção de uma pequena árvore B Na fig. (e) três itens, 75,85 e 90, são inseridos O terceiro filho é dividido, causando a criação de um novo nó e a promoção do item intermediário, 80, para a raiz. O resultado disto é visto na figura (f). (e) (f)

54 Construção de uma pequena árvore B Novamente três itens, 25, 35 e 50, são adicionados fig. (g) Os primeiros dois itens enchem totalmente o segundo filho E o terceiro filho é divido, provocando a criação de um novo nó e a promoção do item intermediário, 35, para a raiz, como pode ser visto na figura (h). (g) (h)

55 Construção de uma pequena árvore B Agora a raiz está cheia. Contudo, inserções subseqüentes não necessariamente causarão a divisão do nó, porque os nós são divididos somente quando uma nova inserção em um nó cheio é efetuada, não quando um nó cheio é encontrado em uma pesquisa sobre a árvore. Assim, 22 e 27 são inseridos no segundo filho sem causar qualquer divisão, como apresentado na figura (j) (i) (j)

56 O próximo item a ser inserido, 32, não causa uma divisão, na realidade, ele causa duas divisões. O segundo nó filho, está cheio, deste modo, ele é dividido, como visto na figura (l). O item 27, promovido a partir da divisão, não foi colocado no seu lugar porque a raiz está cheia. Portanto a raiz também precisa ser dividida, resultando no arranjo presente na figura (M) (k) (l) (M)

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli elisa@fw.uri.br Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos

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

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

Á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

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

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43 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

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

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

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Laboratório I Prof. Osório Balanceamento de Árvores Binárias Pag.: - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática LABORATÓRIO II AULA : Balanceamento

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

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 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

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

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

Á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

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

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

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor.

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor. PUC-Rio Departamento de Informática Período: 2015.1 Horário: 2as-feiras e 4as-feiras de 17-19 30 de março de 2015 ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) 1 a Lista de Exercícios 1. Lista (a) Seja um TAD

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

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

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

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

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

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

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

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

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

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

Estruturas de Dados. Árvores AVL. Cesar Tadeu Pozzer. pozzer3@gmail.com, pozzer@inf.ufsm.br. Curso de Ciência da Computação UFSM (12/12/2007)

Estruturas de Dados. Árvores AVL. Cesar Tadeu Pozzer. pozzer3@gmail.com, pozzer@inf.ufsm.br. Curso de Ciência da Computação UFSM (12/12/2007) struturas de ados Árvores VL esar Tadeu Pozzer pozzer3@gmail.com, pozzer@inf.ufsm.br.b urso de iência da omputação UFSM (12/12/2007) Árvore VL Uma árvore binária é denominada VL quando a diferença de altura

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 Binárias 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

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = = Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo

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

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

SUMÁRIO. Introdução... 3

SUMÁRIO. Introdução... 3 SUMÁRIO Introdução..................................... 3 1 Consultas por Similaridade e Espaços métricos............. 5 1.1 Consultas por abrangência e consultas aos k-vizinhos mais próximos... 5 1.2

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Arquivos de registros Abstração do SGBD Pode ser criado, destruido e ter registros incluidos e excluidos nele Tb suporta a varredura Uma relacao geralmente é armazenada como um arquivo de registros Camada

Leia mais

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES 2 ÁRVORES Dado um grafo G G é chamado de árvore caso seja não direcionado, conectado e não possua circuitos simples Matemática Discreta Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento

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

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU FUNÇÃO IDENTIDADE... FUNÇÃO LINEAR... FUNÇÃO AFIM... GRÁFICO DA FUNÇÃO DO º GRAU... IMAGEM... COEFICIENTES DA FUNÇÃO AFIM... ZERO DA FUNÇÃO AFIM... 8 FUNÇÕES CRESCENTES OU DECRESCENTES... 9 SINAL DE UMA

Leia mais

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras Árvore Binária de Busca Algoritmos e Estrutura de Dados II Árvores Rubro-Negras Prof. Marco Aurélio Stefanes marco em dct.ufms.br Propriedades Se está na subárvore esquerda de então chave() chave() Se

Leia mais

Árvores binárias de busca

Árvores binárias de busca Árvores binárias de busca Introdução à Ciência de Computação II Diego R. Amancio Baseado no material do Prof. Thiago A. S. Pardo Árvore binárias n Árvores de grau 2, isto é, cada nó tem dois filhos, no

Leia mais

Mo:vação. Árvore AVL. Caracterís:cas. Origem. Exemplo. Exercício 1 Qual é a altura dos nodos 50 e 44?

Mo:vação. Árvore AVL. Caracterís:cas. Origem. Exemplo. Exercício 1 Qual é a altura dos nodos 50 e 44? Mo:vação Árvore AVL Árvores binárias de Pesquisa possuem uma tendência natural de desbalancear 1 2 Rohit Gheyi rohit@dsc.ufcg.edu.br 6 8 1 2 Origem Adelson Velskii, G.; E. M. Landis (1962). "An algorithm

Leia mais

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

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

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

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

Informática básica Telecentro/Infocentro Acessa-SP

Informática básica Telecentro/Infocentro Acessa-SP Informática básica Telecentro/Infocentro Acessa-SP Aula de hoje: Verificando data e hora, desligando o computador, janelas, copiar colar, excluindo um arquivo. Prof: Lucas Aureo Guidastre Verificando data

Leia mais

Árvores e Árvores Binárias

Árvores e Árvores Binárias MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvores do capítulo 4 do livro N. Wirth. Algorithms + Data Structures

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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor()

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor() DICIONÁRIOS Esta estrutura inclui-se nos chamados contentores associativos, que não são mais do que uma colecção de estruturas de tipo Par, com dois membros de dados (chave de pesquisa e valor associado),

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

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

Universidade Federal de Santa Catarina CAPÍTULO 6 GRÁFICOS NO EXCEL.

Universidade Federal de Santa Catarina CAPÍTULO 6 GRÁFICOS NO EXCEL. CAPÍTULO 6 GRÁFICOS NO EXCEL. Um gráfico no Excel é uma representação gráfica dos números de sua planilha - números transformados em imagens. O Excel examina um grupo de células que tenham sido selecionadas.

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Tutorial: Instalando Linux Educacional em uma maquina virtual

Tutorial: Instalando Linux Educacional em uma maquina virtual Maria Augusta Sakis Tutorial: Instalando Linux Educacional em uma Máquina Virtual Máquinas virtuais são muito úteis no dia-a-dia, permitindo ao usuário rodar outros sistemas operacionais dentro de uma

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

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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Organização de arquivos

Organização de arquivos Organização de arquivos Por que ver sistema de arquivos? O sistema de arquivos é quem realmente se responsabiliza por guardar os dados que um aplicativo ou mesmo o banco de dados gerencia. Não é tarefa

Leia mais

FORMATAÇÃO DE DISCO SETORES

FORMATAÇÃO DE DISCO SETORES FORMATAÇÃO DE DISCO O DISCO RÍGIDO CONSISTE DE UM ARRANJO DE PRATOS DE ALUMÍNIO, LIGA METÁLICA OU VIDRO, CADA QUAL COBERTO POR UMA FINA CAMADA DE ÓXIDO DE METAL MAGNETIZADO APÓS A FABRICAÇÃO, NÃO HÁ DADO

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução

Leia mais

Árvore - Introdução. Teoria dos Grafos. Árvore Livre. Árvore Enraizada. Algumas Definições. Algumas Definições

Árvore - Introdução. Teoria dos Grafos. Árvore Livre. Árvore Enraizada. Algumas Definições. Algumas Definições Árvore - Introdução Árvores Em nosso dia-a-dia nos deparamos com muitos exemplos de árvores: Árvore genealógica. Organograma de uma empresa. Tabela de um torneio esportivo. Na computação: Organização da

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

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

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

Sistemas Inteligentes Lista de Exercícios sobre Busca

Sistemas Inteligentes Lista de Exercícios sobre Busca Sistemas Inteligentes Lista de Exercícios sobre Busca 1) A* - Problema do metrô de Paris Suponha que queremos construir um sistema para auxiliar um usuário do metrô de Paris a saber o trajeto mais rápido

Leia mais

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

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas

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

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Árvores Existe uma ampla variedade de dados que são comumente organizados sob a forma de árvores hierárquicas utilizadas recorrentemente em nosso dia a dia. Exemplos são a organização administrativa de

Leia mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

Aula 09. Memórias e Circuitos Digitais Seqüenciais

Aula 09. Memórias e Circuitos Digitais Seqüenciais Aula 09 Memórias e Circuitos Digitais Seqüenciais Introdução Os circuitos lógicos estudados até aqui são chamados de combinacionais (ou combinatórios). São assim chamados porque a sua saída depende apenas

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

Como Criar uma Aula? Na página inicial do Portal do Professor, acesse ESPAÇO DA AULA: Ao entrar no ESPAÇO DA AULA, clique no ícone Criar Aula :

Como Criar uma Aula? Na página inicial do Portal do Professor, acesse ESPAÇO DA AULA: Ao entrar no ESPAÇO DA AULA, clique no ícone Criar Aula : Como Criar uma Aula? Para criar uma sugestão de aula é necessário que você já tenha se cadastrado no Portal do Professor. Para se cadastrar clique em Inscreva-se, localizado na primeira página do Portal.

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

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

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

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

MICROSOFT OFFICE EXCEL 2007

MICROSOFT OFFICE EXCEL 2007 LEIAME Nenhuma informação da APOSTILA - MICROSOFT OFFICE EXCEL 2007 poderá ser copiada, movida ou modificada sem autorização prévia e escrita do autor. MICROSOFT OFFICE EXCEL 2007 Efetue cálculos, analise

Leia mais

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina do Correio Para saber mais sobre Correio electrónico 1. Dicas para melhor gerir e organizar o Correio Electrónico utilizando o Outlook Express Criar Pastas Escrever

Leia mais

Grupo C Vetores e Matrizes

Grupo C Vetores e Matrizes Grupo C Vetores e Matrizes Exercício Descrição 1. Elaborar um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme forem pares ou ímpares. O tamanho do vetor é de 5 posições. Se

Leia mais

Como produzir e publicar uma apresentação online dinâmica (Prezi)

Como produzir e publicar uma apresentação online dinâmica (Prezi) Como produzir e publicar uma apresentação online dinâmica (Prezi) Este módulo irá ensinar-lhe como produzir e publicar uma apresentação online dinâmica usando o programa Prezi. A produção de uma apresentação

Leia mais

Árvores binárias de pesquisa com balanceamento. Algoritmos e Estruturas de Dados II

Árvores binárias de pesquisa com balanceamento. Algoritmos e Estruturas de Dados II Árvores binárias de pesquisa com balanceamento Algoritmos e Estruturas de Dados II Árvores binárias de pesquisa Pior caso para uma busca é O(n) 1 3 Ordem de inserção: 1 3 2 4 5 6 2 4 5 6 2 Árvore completamente

Leia mais

2. ENTRADA DE DADOS 2.1. TEXTOS

2. ENTRADA DE DADOS 2.1. TEXTOS 2. ENTRADA DE DADOS Os dados digitados em uma célula são divididos em duas categorias principais: constantes ou fórmulas. Um valor constante é um dado digitado diretamente na célula e que não é alterado.

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

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

BOM DIA!! ÁLGEBRA. Aula 3 COM JENNYFFER LANDIM. jl.matematica@outlook.com

BOM DIA!! ÁLGEBRA. Aula 3 COM JENNYFFER LANDIM. jl.matematica@outlook.com BOM DIA!! ÁLGEBRA COM JENNYFFER LANDIM Aula 3 jl.matematica@outlook.com Números inteiros: operações e propriedades Adição Os termos da adição são chamadas parcelas e o resultado da operação de adição é

Leia mais

MAIS CONTROLE SOFTWARE Controle Financeiro / Fluxo de Caixa (MCS Versão 2.01.99) Índice

MAIS CONTROLE SOFTWARE Controle Financeiro / Fluxo de Caixa (MCS Versão 2.01.99) Índice Item MAIS CONTROLE SOFTWARE Controle Financeiro / Fluxo de Caixa (MCS Versão 2.01.99) Índice Página 1.Apresentação... 4 2.Funcionamento Básico... 4 3.Instalando o MCS... 4, 5, 6 4.Utilizando o MCS Identificando

Leia mais

Curso de Capacitação em Gerenciador de Conteúdo PLONE

Curso de Capacitação em Gerenciador de Conteúdo PLONE Curso de Capacitação em Gerenciador de Conteúdo PLONE 1 Índice Estrutura Viewlets 21 Portlets 26 2 Estrutura Intermediário Depois de conhecer a estrutura principal do Plone e realizar as configurações

Leia mais

INTRODUÇÃO À INFORMÁTICA GRUPO DE PESQUISA LEITURA NA TELA

INTRODUÇÃO À INFORMÁTICA GRUPO DE PESQUISA LEITURA NA TELA INTRODUÇÃO À INFORMÁTICA GRUPO DE PESQUISA LEITURA NA TELA Núcleo de Educação a Distância UniEvangélica 2 ÍNDICE 1 Introdução à Informática... 3 1. O Computador... 3 Teclado... 3 Mouse... 5 Monitor...

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 1, 2 e 3) Clodis Boscarioli Agenda: Estruturas de Índices; Conceitos; Tipos de Índices: Primários; Secundários; Clustering; Multiníveis;

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

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

ALGORITMOS AVANÇADOS. UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL. Luiz Leão

ALGORITMOS AVANÇADOS. UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL. Luiz Leão UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 - Árvores, Árvores Binárias e Árvores Binárias de Busca

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais