ESTRUTURAS DE DADOS E ALGORITMOS ÁRVORE BINÁRIA
|
|
|
- Luís Guterres Paranhos
- 8 Há anos
- Visualizações:
Transcrição
1 ESTRUTURAS DE DADOS E ALGORITMOS 1 ÁRVORE BINÁRIA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande
2 ÁRVORE (EXEMPLO) Como seria pesquisar a localização de um arquivo no sistema de arquivos se não tivéssemos diretórios? Para entradas realmente grandes, o acesso linear é proibitivo! Precisamos de alguma estrutura nao-linear de acesso mais eficiente. 2
3 ÁRVORE Estrutura não-linear com tempo de acesso em média O(log n). Coleção de nós em hierarquia Vazia ou Raiz (root) e zero ou mais subárvores Raiz da subárvore é um nó filho do nó raiz A raiz de uma árvore é unica! Não possui ciclos N nós, N-1 arestas 3
4 ÁRVORE (ILUSTRACAO) raiz root raiz... 4
5 ÁRVORE (ILUSTRACAO) raiz... folha (leaf) 5
6 ÁRVORE raiz Nível 0 6 Nível 1... Nível k Nível k + 1 Altura = k+1
7 ÁRVORE Uma árvore binária é uma estrutura de dados caracterizada por: Ou não tem elemento algum (árvore vazia) Ou tem um elemento distinto, denominado raiz, com duas referencias para duas estruturas diferentes, denominadas sub-árvore (filho) esquerda e sub-árvore (filho) direita Cada nó pode ter grau: 0, 1 ou 2 7
8 ÁRVORE A ligação entre os nós são vistas como apontadores direcionados do pai para os filhos. Por questoes de implementação apontadores podem existir também referêcias dos filhos para o pai O numero de filhos por nó diferenciam os vários tipos de arvores existentes. Cada nó da árvore encontra-se em determinado nível. A raiz encontra-se no nível zero. Propriedade fundamental: só existe um caminho da raiz para um outro nó da árvore. Altura de uma árvore: comprimento do caminho mais longo da raiz até as folhas 8
9 ÁRVORE (APLICABILIDADE) Representacao de expressoes aritméticas 5*3 + 4/2 + * /
10 EXERCÍCIO Qual a profundidade do nó 6? Qual a altura da árvore? Os nós 6 e 9 estão no mesmo nível? e 7 e 11? Qual o grau do nó 7? E de 9? E de 4? 10
11 ÁRVORES ESTRITAMENTE BINÁRIAS Cada nó possui grau 0 ou 2 Quantos nós terá uma AEB com n folhas? Desenhe diversas arvores e tente deduzir
12 EXERCÍCIO A árvore a seguir é estritamente binária? Justifique. 12
13 ÁRVORE BINÁRIA COMPLETA Todos os níveis são completos (folhas estão no mesmo nível) Qual a relacao que existe entre a altura de uma árvore binária completa e o número de elementos em cada nível? Qual a relacao que existe entre a altura de uma árvore binária completa e o número de elementos no total? nível 0 nos:1 total:1 nível 1 nos:2 total:3 nível 2 nos:4 total:7 nível 3 nos:8 total:15 13
14 ÁRVORE BINÁRIA COMPLETA Todos os níveis são completos (folhas estão no mesmo nível) Qual a relacao que existe entre a altura de uma árvore binária completa e o número de elementos em cada nível? Qual a relacao que existe entre a altura de uma árvore binária completa e o número de elementos no total? nível 0 nos:1 total:1 nível 1 nos:2 total:3 nível 2 nos:4 total:7 nível 3 nos:8 total:15 h 2 h 2 h
15 ÁRVORES BINÁRIAS (PERCURSOS) Formas de percurso em árvore binárias: Pré-ordem (RAIZ, ESQ, DIR) Visita raiz Percorre sub-árvore esquerda em pré-ordem Percorre sub-árvore direita em pré-ordem Em-ordem (simétrica) (ESQ, RAIZ, DIR) Percorre sub-árvore esquerda em ordem simétrica Visita raiz Percorre sub-árvore direita em ordem simétrica Pós-ordem (ESQ, DIR, RAIZ) Percorre sub-árvore esquerda em pós-ordem Percorre sub-árvore direita em pós-ordem Visita raiz Applet: 15
16 ARVORES BINÁRIAS Impressão em pré-ordem (R,E,D):
17 ARVORES BINÁRIAS Impressão em pré-ordem:
18 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,
19 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,
20 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,
21 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,
22 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,
23 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,
24 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,
25 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7,
26 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7, 12,
27 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7, 12,10,
28 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7, 12,10,9,
29 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7, 12,10,9,11,
30 ARVORES BINÁRIAS Impressão em pré-ordem: 8 8,4,2,1,3,6,5,7, 12,10,9,11,14,
31 EXERCÍCIO Qual a saída do caminhamento em pré ordem da árvore binária a seguir? 31
32 ARVORES BINÁRIAS Impressão em ordem simétrica (E,R,D): 8 1,2,3,4,5,6,7,8,9 10,11,12,13,14,
33 EXERCÍCIO Qual a saída do percurso em ordem da árvore binária a seguir? 33
34 ARVORES BINÁRIAS Impressão em pós-ordem (E,D,R): 8 1,3,2,5,7,6,4,9,11,10 13,15,14,12,
35 EXERCÍCIO Qual a saída do caminhamento em pós ordem da árvore binária a seguir? 35
36 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) De que é composta uma árvore binária? Como implementar uma árvore binária? 36
37 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) De que é composta uma árvore binária? Como implementar uma árvore binária? public class BTNode<T> { protected T data; protected BTNode<T> left; protected BTNode<T> right; protected BTNode<T> parent; public boolean isempty(){ return this.data == null; } } //getters, setters, equals, tostring 37
38 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) De que é composta uma árvore binária? Como implementar uma árvore binária? public interface BT<T> { public BTNode<T> getroot(); public boolean isempty(); public int height(); public BTNode<T> search(t elem); public void insert(t value); public void remove(t key); public T[] preorder(); public T[] order(); public T[] postorder(); public int size(); } 38
39 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) Como representar uma árvore vazia? null data = null null null O construtor default de BTNode já gera uma árvore vazia? 39
40 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) Como representar uma árvore vazia? null O nó sentilena de uma árvore binária não contem dados data = null = NIL null null O construtor default de BTNode já gera uma árvore vazia? 40
41 ÁRVORE BINÁRIA (IMPLEMENTAÇÃO) Como representar uma árvore contendo apenas um nó? null null data folha data folha null null NIL NIL null null null null 41
42 ÁRVORE BINÁRIA DE BUSCA Árvore binária de busca ou árvore binária de pesquisa é uma árvore binária onde todos os nós armazenam dados comparáveis todos nós da sub-árvore à esquerda contêm valores menores do que o nó raiz todos os nós da subárvore à direita contêm valores maiores do que o nó raiz. x < x > x A principal utilização de árvores binárias são as árvores binária de busca 42
43 EXEMPLO 2 Subárvores < > < > > O quanto isso reduz o espaço da busca a cada passo? 43
44 ÁRVORE BINÁRIA DE BUSCA (IMPLEMENTAÇÃO) Uma BST é uma BT? Como implementar isso em Java? 44
45 ÁRVORE BINÁRIA DE BUSCA (IMPLEMENTAÇÃO) Uma BST é uma BT? Como implementar isso em Java? public class BSTNode<T extends Comparable<T>> extends BTNode<T> { } 45
46 ÁRVORE BINÁRIA DE BUSCA (IMPLEMENTAÇÃO) Uma BST é uma BT? Como implementar isso em Java? public interface BST<T extends Comparable<T>> extends BT<T> { public BTNode<T> maximum(); public BTNode<T> minimum(); public BTNode<T> successor(btnode<t> node); public BTNode<T> predecessor(btnode<t> node); } 46
47 PESQUISA BINÁRIA Como saber se um dado/valor/chave está na árvore? Se o nó é vazio (caso base) Árvore vazia não contém dado algum Se o nó é não-vazio Verifica se o dado do nó é igual à chave dada Se nao for Se a chave dada for menor que o dado do nó, pesquisa na sub-árvore a esquerda Senao pesquise na sub-árvore a direita 47
48 PESQUISA BINÁRIA (IMPLEMENTACAO) Qual o custo da busca? 48
49 ÁRVORE DESBALANCEADA O que ocorre com a pesquisa binária se a árvore estiver desbalanceada? 42 < x x 88 > x
50 ÁRVORE DESBALANCEADA O que ocorre com a pesquisa binária se a árvore estiver desbalanceada? 42 < x x 88 O(n) > x Solução: Outras árvores, como AVL, que veremos depois. 50
51 MINIMUM Como buscar o elemento mínimo de uma BST? Descer pela esquerda até que um NIL seja encontrado 51
52 MAXIMUM Como buscar o elemento máximo de uma BST? Descer pela direita até que um NIL seja encontrado 52
53 SUCESSOR Como buscar o sucessor de um elemento em uma BST? Sucessor é a menor das chaves maiores (menor descendente a direita) 53
54 SUCESSOR Como buscar o sucessor de um elemento em uma BST? Sucessor é a menor das chaves maiores (primeiro ascendente maior) 54
55 PREDECESSOR Como buscar o predecessor de um elemento em uma BST? Predecessor é a maior das chaves menores (maior descendente a esquerda). Simétrico ao sucessor Tree-Predecessor(x) if left[x]!= NIL then return Tree-Maximum(left[x]) y = p[x] while y!= NIL and x = left[y] do x = y y = p[y] return y 55
56 PREDECESSOR Como buscar o predecessor de um elemento em uma BST? Predecessor é a maior das chaves menores (primeiro ascendente maior). Simétrico ao sucessor Tree-Predecessor(x) if left[x]!= NIL then return Tree-Maximum(left[x]) y = p[x] while y!= NIL and x = left[y] do x = y y = p[y] return y 56
57 ÁRVORE BINÁRIA (INSERÇÃO) Acontece pela raiz (admitir elementos diferentes) Processar apenas chaves diferentes da raiz Se a chave for menor, insere no filho a esquerda Se a chave for maior insere no filho a direita Insercao sempre acontece em uma nova folha 57
58 EXERCÍCIO 1 Insira as chaves 46, 47, 44, 45 58
59 EXERCÍCIO 1 Insira as chaves 46, 47, 44,
60 EXERCÍCIO 1 Insira as chaves 46, 47, 44,
61 EXERCÍCIO 1 Insira as chaves 46, 47, 44,
62 EXERCÍCIO 1 Insira as chaves 46, 47, 44,
63 ÁRVORE BINÁRIA (INSERCAO) Recursivo Tree-insert(BSTNode node, T element){ if(node=nil){ node.data = element node.left = NIL node.right = NIL }else{ if(element< node.data){ Tree-insert(node.left, element) }else if (element > node.data){ Tree-insert (node.right, element) } } } Qual o custo? 63
64 ARVORES BINÁRIAS (REMOCAO) Remocoes em arvores binarias: Se o nó y (a ser removido) for uma folha entao remova-o. Se o nó y tem apenas um filho, então ligamos o pai de y ao filho de y Se tem dois filhos então traz o sucessor de y para o lugar dele e remove o sucessor
65 ARVORES BINÁRIAS (REMOCAO) Outras abordagens trabalham da seguinte forma: Se for folha remove Senao sobe o menor descendente a direita (sucessor) Se nao existir menor descendente a direita então sobe o maior descendente a esquerda (predecessor) Remove recursivamente o nó movido. 65
66 ARVORES BINÁRIAS (REMOCAO) remover 20 66
67 ARVORES BINÁRIAS (REMOCAO) 67
68 ARVORES BINÁRIAS (REMOCAO) remover 30 68
69 ARVORES BINÁRIAS (REMOCAO) remover
70 ARVORES BINÁRIAS (REMOCAO) remover
71 ARVORES BINÁRIAS (REMOCAO) 90 remover
72 ARVORES BINÁRIAS (REMOCAO)
73 Tree-remove(value) { BSTNode node = search(value) if(node!= NIL){ if(node is leaf){ ÁRVORE BINÁRIA (REMOCAO) } } node = NIL }else if (node has one child){ if node!= root if(node is left child){ if(node.left!= NIL) node.left is left child of node.parent else node.right is left child of node.parent else //node is right child if(node.left!= NIL) node.left is right child of parent else node.right is right child of parent else root = not NIL child of root }else{ BSTNode sucessor = sucessor(node); node.data = sucessor.data; Tree-remove(sucessor); } 73
74 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em pre-ordem Como seria o algoritmo? 74
75 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em pre-ordem preorder(bstnode node){ if(node!= NIL){ visit(node); preorder(node.left); preorder(node.right); } } visit(bstnode){ print(node.key); } Poderia fazer qualquer outro processamento 75
76 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em ordem Como seria o algoritmo? 76
77 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em ordem order(bstnode node){ if(node!= NIL){ order(node.left); visit(node); order(node.right); } } 77
78 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em pós-ordem Como seria o algoritmo? 78
79 ÁRVORE BINÁRIA (PERCURSO) Algoritmo do percurso em pós-ordem postorder(bstnode node){ if(node!= NIL){ postorder(node.left); postorder(node.right); visit(node); } } 79
80 ÁRVORE BINÁRIA Como seria para calcular recursivamente o tamanho (quantidade de elementos) de uma árvore binária 1 size(root) = 1 + size(left) + size(right) size size 80
81 ÁRVORE BINÁRIA Como seria para calcular recursivamente o tamanho (quantidade de elementos) de uma árvore binária int size(){ return size(root) } int size(bstnode node){ if(node.isempty) return 0 else return 1 + size(node.left) + size(node.right) } 81
82 POSCOMP 2009 Nao necessariamente balanceada! 82
83 POSCOMP
84 POSCOMP
85 POSCOMP
86 REFERÊNCIAS Capítulo 13 86
Exemplo Árvore Binária
Árvores Rohit Gheyi Para entradas realmente grandes, o acesso linear O(n) de listas é proibi9vo Estrutura de dados não linear, cujas operações tem custos em geral O(log n) 1 2 Exemplo Como seria pesquisar
ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA (ABORDAGEM RECURSIVA)
ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA (ABORDAGEM RECURSIVA) Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande QUESTÕES DE IMPLEMENTAÇÃO Implementacao
ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA
ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande LISTA LIGADA (LINKED LIST) É uma estrutura de dados em que
Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP
Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro
Á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ó
Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Árvores (parte 3) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Á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
Á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
DAINF - 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.
Árvores. Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque. Engenharia da Computação. Poli - UPE
Árvores Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque Engenharia da Computação Poli - UPE Motivação Para entradas realmente grandes, o acesso linear de listas é proibitivo Estrutura de dados
Á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
Á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
GGI026 - Á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
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 [email protected] 6 8 1 2 Origem Adelson Velskii, G.; E. M. Landis (1962). "An algorithm
Á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ó
UNIVERSIDADE 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: [email protected] Lista de Exercícios Árvores, Árvores Binárias, Árvores
Á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
PAA-DCC-UFAM. Árvores. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Árvores Universidade Federal do Amazonas Departamento de Eletrônica e Computação Árvores Árvores são conjuntos cujos elementos guardam uma relação hierarquica entre eles Terminologia (1) A é o nodo raiz.
INF 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
Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.
Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira [email protected] Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados
Á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
SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
ESTRUTURA 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
Aula 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
Pesquisa em memória primária
Pesquisa em memória primária Pesquisa em memória primária Recuperar informação a partir de uma grande massa de informação previamente armazenada. Existem vários métodos de pesquisa, depende de: Tamanho
Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um
Á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
ESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres
ESTRUTURA DE DADOS Árvores, árvores binárias e percursos Cristina Boeres 2 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos árvore genealógica diagrama hierárquico de uma
Á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
Á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
Á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
Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.
Á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
Á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 [email protected]
8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
Árvores Binárias. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)
Árvores Binárias Algoritmos e Estruturas de Dados 2 201-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Árvores 2 Raíz 3 Folhas 4 Nós Internos 5 Pais e Filhos 6 Descendentes Ancestrais 8 Irmãos 9 Níveis
Introduçã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
Á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:
Estruturas de Dados II
Estruturas de Dados II Rodrigo Porfírio da Silva Sacchi [email protected] 3410-2086 Aula 2: Árvores http://www.do.ufgd.edu.br/rodrigosacchi Árvores Definição: Árvores Uma árvore T é um conjunto
Árvores de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.
Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação. Particularmente adequada quando existe necessidade de considerar todos ou alguma combinação
Á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
ÁRVORES E ÁRVORES BINÁRIAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES E ÁRVORES BINÁRIAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORES Árvores Árvores Binárias INSTITUTO DE COMPUTAÇÃO - UFF 2 ÁRVORES Fonte de consulta: Szwarcfiter, J.; Markezon,
Á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,
Á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
ÁRVORE AVL. Problema do balanceamento
ÁRVORE VL Prof. ndré ackes Problema do balanceamento 2 eficiência da busca em uma árvore binária depende do seu balanceamento. O(log N), se a árvore está balanceada O(N), se a árvore não está balanceada
Árvores Binárias de Pesquisa. Programação II Prof. Mateus Raeder. Árvores Binárias de Pesquisa. Árvores Binárias de Pesquisa. Classe Nodo Binário
Programação II Conhecida também como: Árvore binária ordenada Árvore binária de busca Aresenta relação de ordem entre os nodos Ordem definida através do camo chamado chave CHAVE Prof. Mateus Raeder Chaves
Á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:
Árvores Binárias. 9/11 e 11/11 Conceitos Representação e Implementação
Árvores Binárias 9/11 e 11/11 Conceitos Representação e Implementação Árvore Binárias (AB) Uma Árvore Binária (AB) T é um conjunto finito de elementos, denominados nós ou vértices, tal que: (i) Se T =,
Árvores Binárias. 16/11 Representação e Implementação: Encadeada Dinâmica O TAD
Árvores Binárias 16/11 Representação e Implementação: Encadeada Dinâmica O TAD ED AB, encadeada dinâmica Para qualquer árvore, cada nó é do tipo info esq dir typedef int elem; typedef struct arv *Arv;
ÁRVORE BINÁRIA DE BUSCA
ÁRVORE BINÁRIA DE BUSCA Introdução O algoritmo de busca binária em vetores tem bom desempenho e deve ser usado quando temos os dados já ordenados. No entanto, se precisarmos inserir e remover elementos
Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias
Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Representação por Contiguidade Física Representação por Encadeamento Operações 2 Conceitos gerais Uma árvore
Árvores. N-árias, Binárias, Busca. Vanessa Maia Berny Mestrado em Ciência da Computação
Árvores N-árias, Binárias, Busca Vanessa Maia Berny Mestrado em Ciência da Computação Disciplina de Estrutura de Dados Prof. Dr. Luzzardi, Paulo Roberto Gomes Abril de 2008 Árvores N-árias São estruturas
Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins
Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore
Árvores Binárias de Busca
Árvores Binárias de Busca Algoritmos e Estruturas de Dados I Nesta aula será apresentado o ADT árvore binária de busca, também conhecidas como dicionários binários Uma árvore binária de busca é uma estrutura
Árvores. Prof. César Melo ICOMP/UFAM
Árvores Prof. César Melo ICOMP/UFAM Introdução v Árvore é uma estrutura adequada para representar hierarquias Diretórios em um computador Serviço de resolução de nomes na Internet v A forma mais natural
Algoritmos 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 [email protected] Fonte: Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar o número de comparações efetuadas,
Fontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:
Fontes Bibliográficas Estruturas de Dados Aula 15: Árvores Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo 5; Estruturas
Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Heaps Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Introdução Definição de Heap Heap Binária Implementação com vetor Fila de Prioridades
