Algoritmos e Estruturas de Dados. Décima primeira aula: Árvores chanfradas
|
|
- Pietra Chaves Carmona
- 5 Há anos
- Visualizações:
Transcrição
1 Algoritmos e Estruturas de Dados Décima primeira aula: Árvores chanfradas
2 Nesta aula vamos Estudar as árvores chanfradas, que são umas árvores absolutamente fantásticas. Há outras classes de árvores fantásticas, mas não temos tempo para todas: so many trees, so little time. Mesmo assim, mencionaremos as árvores AVL, as árvores rubinegras e as B-trees Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 2
3 Árvores chanfradas (splay trees) As árvores chanfradas (splay trees) são árvores binárias de busca auto-ajustáveis. Depois de uma operação de acesso, o elemento acedido é promovido até à raiz. A ideia é acelerar os acessos subsequentes aos nós mais recentemente acedidos. A promoção é feita de dois em dois níveis, excepto quando o nó está no primeiro nível. Foram inventadas por Sleator e Tarjan em Daniel Sleator é professor na Universidade Carnagie-Mellon e Robert Tarjan é professor na Universidade de Princeton Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 3
4 Promoção Promover um nó é subi-lo de nível, fazendo descer o pai pelo lado contrário. Y X X c a Y a b b c Em ambas as árvores, num percurso directo primeiro vamos ao a, depois ao X, depois ao b, depois ao Y e depois ao c Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 4
5 Rotação para a direita A ligação XY roda para a direita: Y X X c a Y a b b c A promoção de um nó faz-se por meio de uma rotação da ligação ao seu pai. Neste caso, é uma rotação para a direita Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 5
6 Rotação para a esquerda A ligação XY roda para a esquerda: Y X a X Y c b c a b Em qualquer dos casos, se a árvore for uma árvore de busca, após a rotação continua a ser uma árvore de busca Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 6
7 tree_promote A promoção envolve um subtil rearranjo dos apontadores. É só preciso ter cuidado: Mudam seis apontadores Tree tree_promote (Tree t) int side = tree_side (t); Tree p = t >parent; t > parent = p >parent; if (t >parent!= NULL) Veja com cuidado! t > parent > child [tree_side (p)] = t; p > child [side] = t >child [!side]; if (p > child [side]!= NULL) p > child [side] > parent = p; t > child [!side] = p; p >parent = t; return t; Note que esta função roda para o lado certo, sem usar if s Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 7
8 Ziguezague Nas árvores chanfradas, quando filho e pai estão de lados diferentes, promove-se em ziguezague: Z Z X Y d X d Y Z a X Y c a b c d b c Chama-se ziguezague porque as rotações são em sentido diferente: neste caso, primeiro para a esquerda, depois para a direita. a b Depois do ziguezague, a árvore está localmente equilibrada no nó promovido e tanto este como as suas subárvores estão mais perto da raiz Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 8
9 Ziguezigue Quando filho e pai estão do mesmo lado, promove-se em ziguezigue : Z Y X Y d X Z a Y X c a b c d b Z a b Note bem: neste caso primeiro promove-se o pai do nó e depois o nó. As duas rotações são para o mesmo lado, (neste caso para a direita). Por oposição ao ziguezague, isto chama-se ziguezigue Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 9 c Depois do ziguezigue, as subárvores do nó promovido estão mais próximas da raiz. d
10 Chanfrando Chanfrar (to splay) um nó é promovê-lo até à raiz em ziguezague e em ziguezigue, excepto eventualmente a última promoção que poderá ser simples se a profundidade inicial era ímpar. Após aceder a um nó, chanframo-lo. Assim, se ele for acedido de novo, em breve, será apanhado mais depressa, em média Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 10
11 Tree tree_splay (Tree t) tree_splay assert (t!= NULL); while (t > parent!= NULL && t >parent >parent!= NULL) if (tree_side (t) == tree_side (t >parent)) // zigzig tree_promote (t >parent); tree_promote (t); else // zigzag tree_promote (t); tree_promote (t); if (t > parent!= NULL) tree_promote (t); return t; Enquanto não o nó t não chegar à raiz ou aos filhos da raiz, promove-se, em ziguezigue ou em ziguezague. Se ficou num filho da raiz, promove-se mais uma vez, simplesmente Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 11
12 Ao procurar, se encontramos, chanframos o nó; se não encontramos, chanframos o pai virtual (isto é, o nó que seria o pai do nó encontrado se o valor procurado existisse): splay_tree_find Tree splay_tree_find (Tree t, int x) Tree result = NULL; Tree p = t; Tree q = NULL; while (p && p >value!= x) q = p; p = p >child [p >value < x]; if (p == NULL) if (q!= NULL) result = tree_splay (q); Não encontrámos: chanframos o pai. Encontrámos: else chanframos o nó. result = tree_splay (p) ; return result; Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 12
13 splay_tree_put Depois de pôr, chanframos o nó. Isto é, se o valor não existia, chanframos o novo nó. Se já existia, chanframos o nó respectivo Tree splay_tree_put (Tree t, int x) Tree result = NULL; Tree p = t; Tree q = NULL; int side = 0; while (p && p >value!= x) q = p; p = p >child [side = p >value < x]; if (p == NULL) assert (q == NULL q >value!= x); result = tree_cons (x, NULL, NULL); if (q!= NULL) q >child [side] = result; result >parent = q; else result = p; result = tree_splay (result); return result; Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 13 Novo nó. O valor já existia, e está no nó apontado por p.
14 splay_tree_remove Remove-se e chanfra-se o pai do nó removido: Tree splay_tree_remove (Tree t) Tree result = NULL; search_tree_remove (&t); if (t!= NULL) result = tree_splay (t); return result; Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 14
15 void test_find (void) Tree t = NULL; int n; int limit; int x; scanf ("%d%d", &n, &limit); t = search_tree_rand (n, limit); Experimentando o splay_tree_find Cria uma árvore com n nós, com valores aleatórios entre 0 e n. tree_write_diagram (stdout, "%d", t, 3, 0); tree_writeln_star (stdout, t); tree_writeln (stdout, " %d", t); printf (" \n"); while (scanf ("%d", &x)!= EOF) t = splay_tree_find (t, x); if (t == NULL t > value!= x) printf ("not found.\n"); tree_write_diagram (stdout, "%d", t, 3, 0); tree_writeln_star (stdout, t); tree_writeln (stdout, " %d", t); printf (" \n"); tree_free (&t); Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 15
16 Árvores perfeitamente equilibradas Uma árvore é perfeitamente equilibrada se para cada nó o tamanho das suas subárvores diferir de 1 no máximo. Exemplos: Esta não é perfeitamente equilibrada Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 16 1
17 Árvores equilibradas Uma árvore é equilibrada se para cada nó a altura da suas subárvores diferir de 1 no máximo. Manter uma árvore equilibrada é menos complicado do que mantê-la perfeitamente equilibrada, ao pôr e ao remover Esta é equilibrada mas não perfeitamente equilibrada Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 17
18 Árvores AVL Uma árvore AVL é uma árvore de busca equilibrada. AVL são as iniciais dos inventores, os matemáticos russos Adelson-Velskii e Landis (1962). Em certas implementações, os nós das árvores AVL têm um membro que guarda a altura da subárvore cuja raiz é esse nó (ou a diferença da altura com a subárvore irmã ) Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 18
19 Árvores rubinegras (red-black) Uma árvore rubinegra (red-black tree) é uma árvore binária de busca, com sentinela, em que cada nó tem uma de duas cores: vermelho ou preto. Restringindo as maneiras de colorir os nós ao longo dos caminhos da raiz até às folhas, garante-se que nenhum caminho tem mais do dobro dos nós do que qualquer outro. Assim, a árvore fica aproximadamente equilibrada Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 19
20 Propriedades das árvores Cada nó ou é vermelho ou é preto. A raiz é preta. A sentinela é preta. Se um nó é vermelho, os seus dois filhos são pretos. Todos os caminhos desde um nó até à sentinela têm o mesmo número de nós pretos. rubinegras Sentinela Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 20
21 B-trees Uma b-tree é uma árvore de busca equilibrada, desenhada para ter um bom desempenho em dispositivos de memória secundária de acesso directo. Os nós das b-trees podem ter muitos filhos (e não apenas dois). As b-trees são uma generalização das árvores binárias de busca, como mostra o exemplo: Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 21
22 Propriedades das B-trees Numa b-tree, cada nó tem vários valores e vários filhos. Os nós que são folhas não têm filhos. Os nós internos que tenham n valores têm n+1 filhos. O número mínimo de filhos num nó interno de uma árvore é o grau mínimo da árvore. Se o grau mínimo for t cada nó tem pelo menos t 1 valores. Numa b- tree de grau mínimo t, o número máximo de valores num nó é 2t 1 e, portanto, o número máximo de filhos é 2t. Os valores num nó estão ordenados e separam os valores das subárvores correspondentes. Ao pôr e ao remover, é preciso garantir que as propriedades da b-tree se mantêm Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 22
23 Exercícios Programe as AVL com campo para a altura. Investigue e programa as árvores rubinegras. Programe as b-trees Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 23
24 Controlo Que tipos de árvores estudámos? O que é o ziguezigue? E o ziguezague? Chanframos o quê, quando o que procuramos não existe? Quem inventou as splay trees? E as AVL? Qual é a diferença entre as árvores equilibradas e as árvores perfeitamente equilibradas Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 24
25 Na próxima aula Abandonaremos as árvores e passaremos para a estrutura de dados seguinte: as tabelas de dispersão Algoritmos e Estruturas de Dados I - 11 Pedro Guerreiro 25
Algoritmos e Estruturas de Dados. Lição n.º 22 Árvores binárias de busca
Algoritmos e Estruturas de Dados Lição n.º 22 Árvores binárias de busca Árvores binárias de busca Árvores binárias de busca. Árvores equilibradas Outras classes de árvores. 20140521 Algoritmos e Estruturas
Leia maisINF 1010 Estruturas de Dados Avançadas. Árvores binárias
INF 1010 Estruturas de Dados Avançadas Árvores binárias 1 Árvore estrutura hierárquica: A B E F C D G A B C E F D G A B C D E F G (A (B (E, F)), C, (D (G))) 05/09/16 2 Árvore - definições árvore: nó raiz
Leia maisÁrvores AVL e Árvores B. Jeane Melo
Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem
Leia maisGGI026 - Árvore rubro-negra - Remoção
GGI026 - Árvore rubro-negra - Remoção Marcelo K. Albertini 11 de Setembro de 2013 2/28 Aula de hoje Nesta aula veremos Remoção em Árvores rubro-negras 3/28 Remoção em árvores rubro-negras Metodologia Possibilidade
Leia maisAlgoritmos e Estrutura de Dados II. Árvore AVL. Prof Márcio Bueno. / Material da Prof a Ana Eliza
Algoritmos e Estrutura de Dados II Árvore AVL Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar
Leia maisAlgoritmos e Estrutura de Dados II. Árvore AVL. Prof a Karina Oliveira. Fonte: Prof a Ana Eliza
Algoritmos e Estrutura de Dados II Árvore AVL Prof a Karina Oliveira kkco@dei.unicap.br Fonte: Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar o número de comparações efetuadas,
Leia maisAED2 - Aulas 06 e 07 Árvores AVL e rubro-negras
AED2 - Aulas 06 e 07 Árvores AVL e rubro-negras Árvores AVL AVL vem dos nomes dos seus inventores: Adelson-Velsky and Landis. Definições: a altura de uma subárvore é o comprimento do caminho mais longo
Leia maisÁrvores balanceadas. Aleardo Manacero Jr.
Árvores balanceadas Aleardo Manacero Jr. Árvores Balanceadas Para que uma árvore seja, de fato, um mecanismo eficiente, é preciso que os seus elementos estejam distribuídos de forma relativamente homogênea
Leia maisIntrodução a AVL: teoria e prática. 22/11, 25/11 e 30/11
Introdução a AVL: teoria e prática 22/11, 25/11 e 30/11 Árvores binárias de busca (ABB) Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz B A C Terminologia: filho esquerdo filho direito
Leia maisÁrvores Binárias de Busca
0. Um breve comentário sobre os algoritmos de busca em tabelas De uma maneira geral, realizam-se operações de busca, inserção e remoção de elementos numa tabela. A busca sequencial tradicional é O(N).
Leia maisÁ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 maisEstrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Árvores (parte 3) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisAED2 - Aula 04 Vetores ordenados e árvores de busca
AED2 - Aula 04 Vetores ordenados e árvores de busca Considere um vetor ordenado v de tamanho n. Ele suporta as seguintes operações: busca - dada uma chave k, devolva um apontador para um objeto com esta
Leia maisÁrvores Equilibradas. Árvores espalhadas (Splay)
I-UP 000/00 lgoritmos e struturas de ados Sumário Árvores quilibradas Splay -tree Vermelho-Preto e Multidimensionais quaternárias k-d Pesquisa exicográfica tries multivia tries binárias PTII SP Árvores
Leia maisÁrvores Binárias de Busca
Árvores AVL Árvores Binárias de Busca Altura de uma árvore binária (AB): igual à profundidade, ou nível máximo, de suas folhas A eficiência da busca em árvore depende do seu balanceamento Algoritmos de
Leia maisÁrvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
Leia maisÁrvores AVL IAED, 2014/2015
Árvores AVL IAED, 24/25 Resumo da aula de hoje Recapitular algumas ideias da última aula Pesquisa, inserção, remoção & travessias em árvores binárias de pesquisa. Árvores binárias equilibradas Exemplo:
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisSplaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza
Splaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza Introdução Inventada por Adelson Velskii e Landis - 1962. Também chamada de Árvores Auto-Ajustadas ou Árvore de Afunilamento.
Leia maisEAD Árvore - representação usando listas ligadas
5.1. Definição - A pesquisa de um elemento numa árvore binária de pesquisa implica - fazer uma travessia da árvore até se encontrar o elemento procurado, ou - se concluir da sua inexistência. - As travessias
Leia maisEstrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Árvores (parte 4) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisÁrvores. Estruturas de Dados. Prof. Vilson Heck Junior
Árvores Estruturas de Dados Prof. Vilson Heck Junior Árvores INTRODUÇÃO Introdução Árvores são estruturas de dados utilizadas para armazenar e recuperar dados de forma rápida e eficiente; Árvores não são
Leia maisÁ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Árvores Vermelho-Preto
Árvores Vermelho-Preto SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC)
Leia maisEstrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Árvores (parte 2) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisÁrvores Vermelho-Preto
SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São
Leia maisEstruturas de Dados. Aula 08. Árvores AVL II. Karina Mochetti
Estruturas de Dados 2018.2 Árvore AVL Uma Árvore AVL (Adelson, Velskii e Landis) T é uma Árvore Binária de Busca Balanceada, tal que: T é vazia; T consiste de um nó raiz k e duas subárvores binárias Te
Leia maisGGI026 - Árvore rubro-negra
GGI026 - Árvore rubro-negra Marcelo K. Albertini 11 de Setembro de 2013 2/1 Aula de hoje Nesta aula veremos Árvores rubro-negras 3/1 Árvore rubro-negra Propriedades: 33 1 - Todo nó é vermelho ou preto
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 16 a Aula Árvores equilibradas
Programação Funcional 16 a Aula Árvores equilibradas Pedro Vasconcelos DCC/FCUP 2014 Aula anterior Operações sobre árvores binárias ordenadas: 1 pesquisa; 2 inserção; 3 remoção. Estas operações são mais
Leia maisÁrvores Equilibradas. Sumário
Árvores Equilibradas Sumário Splay Vermelho Preto AA e BB Multidimensionais quaternárias k d Pesquisa Lexicográfica tries multivia tries binárias PATRICIA Árvores Equilibradas Sumário Árvores AVL Árvores
Leia maisÁrvores & Árvores Binárias
SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores & Árvores Binárias Prof. Material Original: Walter Aoiama Nagai; Maria das Graças Volpe Nunes; Definições Árvore T é um conjunto
Leia maisAlgoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1
Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) PIP/CA - Programa Interdisciplinar de Pós-Graduação
Leia maisDAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Leia maisÁrvores Binárias de Busca
Árvores AVL Árvores Binárias de Busca Altura de uma árvore binária (AB): igual à profundidade, ou nível máximo, de suas folhas A eficiência da busca em árvore depende do seu balanceamento Algoritmos de
Leia maisCopiar para o ficheiro ArvoreBinaria.h e adaptar as funções associadas às operações sobre árvores binárias (3.1 a 3.12)
Considere as seguintes declarações (NodoArv e PNodoArv), adaptadas dos apontamentos: struct NodoArv { int Elemento; struct NodoArv *Esquerda; struct NodoArv *Direita; ; typedef struct NodoArv *PNodoArv;
Leia maisAula 16: Pesquisa em Memória Primária - Árvores AVL. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 6: Pesquisa em Memória Primária - Árvores AVL Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Árvore AVL Árvore binária de busca tal que, para qualquer nó interno v, a diferença das alturas
Leia maisESTRUTURAS DE DADOS E ALGORITMOS ÁRVORE BINÁRIA
ESTRUTURAS DE DADOS E ALGORITMOS 1 ÁRVORE BINÁRIA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande ÁRVORE (EXEMPLO) Como seria pesquisar a localização de
Leia maisÁrvores binárias de busca
Árvores binárias de busca SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Árvore binárias Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz D B A E C F Terminologia: filho esquerdo filho
Leia maisAlgoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.
Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados
Leia maisDicionários. TAD Orientado a conteúdo
Dicionários TAD Orientado a conteúdo Dicionários efinição: Tipo abstrato de dados orientado a onteúdo. Contrasta com as PILHAs e FILAs que são orientadas a posição. perações implementadas: Inserir(d,x)
Leia maisÁrvores. Aula 04. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria
Engenharia de CONTROLE e AUTOMAÇÃO Árvores Aula 04 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br Sumário
Leia maisSplaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza
Splaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza Introdução Inventada por Adelson Velskii e Landis - 1962. Também chamada de Árvores Auto-Ajustadas ou Árvore de Afunilamento.
Leia maisPROGRAMAÇÃO III (LTSI)
ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2009/2010 Árvores Binárias AVL Tal como visto anteriormente, caso
Leia maisÁrvores Binárias Balanceadas Estrutura de Dados I
- entro de iências Exatas, Naturais e de Saúde Departamento de omputação Árvores inárias alanceadas Estrutura de Dados I OM06992 - Estrutura de Dados I Prof. Marcelo Otone guiar marcelo.aguiar@ufes.br
Leia maisÁrvores AVL. Nesta aula será apresentado o ADT árvore AVL que são árvores binárias de altura equilibrada. Algoritmos e Estruturas de Dados I
Árvores AVL Nesta aula será apresentado o ADT árvore AVL que são árvores binárias de altura equilibrada Algoritmos e Estruturas de Dados I José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Leia maisÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO
Leia maisAlgoritmos e Estruturas de Dados I. Aula 11 Árvores AVL. Prof. Jesús P. Mena-Chalco.
Algoritmos e Estruturas de Dados I Aula 11 Árvores AVL Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Sobre a altura de uma ABB 2 Altura de uma ABB 4 2 1 6 3 5 7 Uma árvore de 7 elementos
Leia maisÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORE B Vanessa Braganholo Estruturas de Dados e Seus Algoritmos INTRODUÇÃO 2 ARQUIVOS DE ACESSO DIRETO Basicamente, duas formas de acesso a um registro: Acesso via cálculo do endereço do registro (hashing)
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto
Leia maisÁrvores & Árvores Binárias
Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente
Leia maisÁrvores binárias de busca
Árvores binárias de busca / Árvores de busca / 1 Árvores binárias de busca, ou binary search trees, BST, são árvores binárias onde, para cada sub-árvore, todos os elementos da sub-árvore da esquerda são
Leia maisAula T13 BCC202 Árvores. Túlio Toffolo
Aula T13 BCC202 Árvores Túlio Toffolo www.decom.ufop.br/toffolo Conceitos básicos n Organiza um conjunto de acordo com uma estrutura hierárquica. n Contém elementos que são chamados de nós n O pai de todos
Leia maisAula 16: Pesquisa em Memória Primária - Árvores de Busca. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 16: Pesquisa em Memória Primária - Árvores de Busca Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para
Leia maisÁrvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação
1 Árvores Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 2 Árvore Binária de Busca Definição: uma árvore binária de busca (ABB) é uma árvore binária na qual
Leia maisUniversidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação. Árvores Balanceadas
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Árvores Balanceadas Nelson Cruz Sampaio Neto nelsonneto@ufpa.br 25 de abril de 2016 Introdução A árvore de busca
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Época Normal Resolução 13/junho/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as
Leia maisÁrvores. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Árvores David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Conceitos básicos Organiza um conjunto de acordo com uma estrutura hierárquica. Contém elementos que são chamados de nós O pai de todos
Leia maisAlgoritmos e Estruturas de Dados
Introdução aos Algoritmos e Estruturas de Dados Repescagem 2 o Teste - B Ano lectivo: 2010/2011 2 o Semestre RESOLUÇÃO DA REPESCAGEM DO 2 o TESTE I. (2.5 + 2.5 + 3.0 = 8.0 val.) I.a) Considere o tipo Voo
Leia maisListas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
Leia maisÁrvore binária - definição
Árvore binária - definição árvore binária: conjunto finito de nós Æ (árvore vazia) {raiz, sub-árvore esquerda, sub-árvore direita}, onde sae e sad são conjuntos disjuntos Æ ou raiz /* nó da árvore binária
Leia maisLinguagem C: Árvores AVL
Instituto de C Linguagem C: Árvores AVL Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Árvores Balanceadas As árvores binárias de pesquisa são,
Leia maisÁrvores de pesquisa. Árvores de pesquisa equilibradas
Árvores VL Árvores Splay Árvores Árvores de pesquisa Árvores Vermelho-Preto Árvores e Árvores Multidimensionais quaternárias k-d [Árvores para Pesquisa Lexicográfica tries multivia tries binárias PTRII]
Leia maisOrganizam dados de forma hierárquica. Acontecem com frequência na natureza. Fáceis de representar e manipular com computadores
Organizam dados de forma hierárquica Acontecem com frequência na natureza Fáceis de representar e manipular com computadores Úteis para várias tarefas Raiz Folhas Nós internos Filhos Pai Descendentes
Leia maisUniversidade Federal de Mato Grosso Estrutura de Dados II
Universidade Federal de Mato Grosso Estrutura de Dados II Curso de Ciência da Computação Prof. Thiago P. da Silva thiagosilva@ufmt.br Agenda Definições Fator de Balanceamento Estrutura de um Nó Operações
Leia maisÁrvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO
Métodos de Pesquisa de Dados Árvores M-Vias Encontrar um dado em um conjunto de dados de forma eficiente Baseia-se na noção de uma chave (índice) de pesquisa Aplicação típica: SGBD Busca de dados em disco
Leia maisAula 14 Listas Duplamente Encadeadas. prof Leticia Winkler
Aula 14 Listas Duplamente Encadeadas prof Leticia Winkler 1 Lista Duplamente Encadeada É um tipo de lista encadeada que pode ser vazia (NULL) ou que pode ter um ou mais nós, sendo que cada nó possui dois
Leia maisÁrvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich
Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic
Leia mais{ = == NULL) = == NULL)
Com base no que foi discutido codifique uma função, na linguagem C, que implemente a remoção por cópia. void remocaoporcopia(arvorebinenc arvore) { ArvoreBinEnc prev, tmp = arvore; if (arvore->filhodir
Leia maisArvores binárias. Fonte: https://www.tumblr.com/ PF 14 pf/algoritmos/aulas/bint.html
AULA 25 Arvores binárias Fonte: https://www.tumblr.com/ PF 14 http://www.ime.usp.br/ pf/algoritmos/aulas/bint.html Mais tabela de símbolos Uma tabela de símbolos (= symbol table = dictionary) é um conjunto
Leia maisEstruturas de Dados Aula 16: Árvores com Número Variável 13/06/2011
Estruturas de Dados Aula 16: Árvores com Número Variável de Filhos 13/06/2011 1 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos
Leia maisAlgoritmos e Estruturas de Dados 2005/2006. árvore Vermelho-Preto cada nó tem no máximo 1 filho vermelho. Árvore AA ; semelhante a árvore BB, mas:
Algoritmos e Estruturas de Dados 00/006 Árvore BB: árvore Vermelho-Preto cada nó tem no máximo 1 filho vermelho Árvore AA ; semelhante a árvore BB, mas: só filhos direitos podem ser vermelhos reduz casos
Leia maisÁrvores. A Profundidade da Árvore B C D E. Árvores Implementação Genérica
Árvores Estrutura composta por nós e arcos direcionados Um dos nós é a raiz da árvore. Todo nó (exceto a raiz), possui um nó pai. Existe um único caminho da raíz até um nó. Uma árvore cujos nós possuem
Leia maisÁrvores binárias de busca
Árvores binárias de busca S-202 lgoritmos e Estruturas de Dados I Prof. Thiago. S. Pardo Árvore binárias Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz D B E Terminologia: filho esquerdo
Leia maisPesquisa em Memória Primária Árvores de Busca. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Pesquisa em Memória Primária Árvores de Busca David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar
Leia maisESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres
ESTRUTURA DE DADOS E ALGORITMOS Árvores Binárias de Busca Cristina Boeres Árvore Binária de Busca 30! construída de tal forma que, para cada nó: nós com chaves menores estão na sub-árvore esquerda nós
Leia maisEdital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ESTRUTURA DE DADOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisAlgoritmos e Estrutura de Dados. Aula 17 Estrutura de Dados: Árvores AVL Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 17 Estrutura de Dados: Árvores AVL Prof. Tiago A. E. Ferreira Introdução O nome AVL vem de seus criadores Adelson Velskye Landis, cuja primeira referência encontra-se
Leia maisÁRVORES. Prof. Yan ndre Maldonado - 1. Prof. Yandre Maldonado e Gomes da Costa
ÁRVORES Prof. Yan ndre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Árvores Prof. Yan ndre Maldonado - 2 Árvores são estruturas de dados que caracterizam uma relação entre os dados que a compõem;
Leia maisUNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;
UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio; e-mail: sandra@icmc.usp.br Lista de Exercícios Árvores, Árvores Binárias, Árvores
Leia maisÁrvores Binárias de Busca (ABB) 18/11
Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:
Leia maisÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
Leia maisAula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
Leia maisFilas de Prioridade. Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações:
Filas de Prioridade e Heaps 9.1 Filas de Prioridade Uma fila de prioridade pode ser vista como uma generalização das filas com as seguintes duas operações: inserir um elemento na fila; remover o elemento
Leia maisFunções Finitas II: árvores AVL
Funções Finitas II: árvores AVL Métodos de Programação II 2004/2005 1 Objectivos Estender a biblioteca de árvores binárias para suportar Árvores AVL. 2 Motivação Pretende-se adaptar o programa apresentado
Leia maisAlgoritmos e Estruturas de Dados 2005/2006
Algoritmos e Estruturas de Dados 2005/2006 Árvore de pesquisa binária árvores podem ser desiquilibradas operações de inserção e eliminação de elementos são de complexidade linear no pior caso, quando árvore
Leia maisÁrvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas
Leia maisÁrvores Binárias de Pesquisa Equilibradas
Árvores Binárias de Pesquisa Equilibradas P. Ribeiro & P. Paredes DCC/FCUP 2016/2017 P. Ribeiro & P. Paredes (DCC/FCUP) Árvores Binárias de Pesquisa Equilibradas 2016/2017 1 / 49 Árvores Binárias de Pesquisa
Leia maisUNIVERSIDADE ESTADUAL DO CEARÁ. Relatório Final: Estrutura de Dados II
UNIVERSIDADE ESTADUAL DO CEARÁ Relatório Final: Estrutura de Dados II Felipe José Aguiar Maia João Gonçalves Filho Prof.: Negreiros FORTALEZA 2010 Sumário 1 Introdução 2 2 Estruturas de Dados 2 2.1 AVL................................
Leia maisESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES
ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES Listas de Prioridades! Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade! A prioridade associada a um dado pode
Leia maisBusca Hierárquica em Memória
Busca Hierárquica em Memória Principal Após estudar este capítulo, você deverá ser capaz de: hh Definir e usar os seguintes conceitos: Árvore binária de busca Árvore binária degenerada Rotações direita
Leia maisALGORITMOS 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Árvores Binárias de Busca (ABB) 18/11
Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:
Leia maisÁrvore B. Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m
Árvore B Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m 1valores; Os valores dentro de cada nó estão ordenados; Todos os valores na subárvore esquerda de um valor são menores que
Leia maisCHAPTER ONE. Uma árvore B de ordem "m" (máximo de filhos para cada nó) é uma árvore que atende as seguintes propriedades:
/ EDOA / 1 CHAPTER ONE B-Tree Uma B-tree, ou bárvore, é uma árvore de busca equilibrada, desenhada para ter um bom desempenho em dispositivos de memória secundária de acesso direto pois elas minimizam
Leia maisÁRVORE BINÁRIA DE BUSCA TDA-ABB
ÁRVORE BINÁRIA DE BUSCA TDA-ABB Conceitos Gerais sobre Árvores Uma árvore é uma estrutura hierárquica dividida em níveis, que ou está vazia, ou contém elementos chamados nós; Diferentemente da árvore natural,
Leia mais