Árvores Binárias. 9/11 e 11/11 Conceitos Representação e Implementação
|
|
|
- Benedicto Beretta Martins
- 9 Há anos
- Visualizações:
Transcrição
1 Árvores Binárias 9/11 e 11/11 Conceitos Representação e Implementação
2 Á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 =, a árvore é dita vazia, ou (ii) T contém um nó especial, chamado raiz de T, e os demais nós podem ser subdivididos em dois sub-conjuntos distintos T E e T D, os quais também são árvores binárias. T E e T D são denominados sub-árvore esquerda e subárvore direita de T, respectivamente
3 Árvore Binárias (AB) (cont.) A raiz da sub-árvore esquerda (direita) de um nó v, se existir, é denominada filho esquerdo (direito) de v. Pela natureza da árvore binária, o filho esquerdo pode existir sem o direito, e vice-versa Se r é a raiz de T, diz-se que T Er e T Dr são as subárvores esquerda e direita de T, respectivamente Árvore Binária é uma árvore ordenada de grau 2.
4 Exemplos de Árvore Binárias (AB) A B C D E F G H I
5 Exemplos de Árvores Binárias
6 Eficiência para as operações Árvores binárias podem ser usadas para guardar e recuperar informações, com número de operações proporcional à altura da árvore, ou seja, variando, aproximadamente, entre log 2 n e n (quando se torna degenerada para uma lista). Mais tarde veremos como esta manipulação pode ser realizada de maneira a garantir a altura da ordem de O(log 2 n)
7 Tipos de AB Árvore Estritamente Binária Árvore Binária Completa Há duas definições: (i) completa = cheia e (ii) completa = a definição de quase completa, dada abaixo Árvore Binária Quase Completa Árvore Binária Balanceada (altura difere max 1) Árvore Binária Perfeitamente Balanceada (número de nós difere max 1)
8 Árvore Estritamente Binária Uma Árvore Estritamente Binária tem nós que têm ou 0 (nenhum) ou dois filhos Nós internos (não folhas) sempre têm 2 filhos C B A D G E F
9 Árvore Binária Completa (Cheia) Árvore Binária Completa (Cheia) (ABC) é estritamente binária, de nível d; e todos os seus nós-folha estão no mesmo nível (d) A C,D,E,F estão no nível 3 (altura = 3) B G C D E F
10 Árvore Binária Completa (Cheia) Dada uma ABC e sua altura, pode-se calcular o número total de nós na árvore p.ex., uma ABC com altura 3 tem 7 nós Nível 1: => 1 nó Nível 2: => 2 nós Nível 3: => 4 nós No. Total de nós = = 7 Verifique que: se uma ABC tem altura h, então o número de nós da árvore é dado por: N = 2 h - 1
11 Nível 1 Número de nós por nível 1 = = = h... h-1 N = 2 i = 2 h - 1 i=0 2 h-1
12 Árvore Completa (Cheia) de grau d e altura h Nível 1 Número de nós por nível 1 2 d 3... d 2... h... h-1 N(h) = d i = d h - 1 i=0 d - 1, d > 1 d h-1
13 Inversamente: Se N é o número de nós de uma ABC, de grau d, qual é a altura h da árvore? N(h) = d h - 1 d - 1 h = log d (N.d N + 1) para d=2: h = log 2 (N + 1) 13/40
14 Árvore Binária Quase Completa Árvore Binária Quase Completa Se a altura da árvore é d, cada nó folha está no nível d ou no nível d-1. Em outras palavras, a diferença de altura entre as sub-árvores de qualquer nó é no máximo 1. 14/40
15 Implicações dos conceitos completa (cheia) e quase completa Importante para: sua alocação em vetores, pois quando é cheia não desperdiça espaço, e na definição do método de ordenação heapsort que trabalha com o conceito de árvore completa como se fosse nossa definição de quase completa. Neste método a árvore (heap) é preenchida da esquerda para direita. Uma árvore completa é aquela em que se n é um nó com algumas de subárvores vazias, então n se localiza no penúltimo ou no último nível. 15/40
16 Árvore Binária Balanceada Árvore Binária Balanceada para cada nó, as alturas de suas duas subárvores diferem de, no máximo, 1 A A B C B C D E D E F 16/40
17 Árvore Binária Perfeitamente Balanceada Árvore Binária Perfeitamente Balanceada: para cada nó, o número de nós de suas sub-árvores esquerda e direita difere em, no máximo, 1 Toda AB Perfeitamente Balanceada é Balanceada, mas o inverso não é necessariamente verdade. Uma AB com N nós tem altura mínima se e só se for Perfeitamente Balanceada. 17/40
18 Exemplo A A B C B C D E D E F Árvore Balanceada Árvore Perfeitamente Balanceada 6 nós: h min = 3 18/40
19 Árvores Perfeitamente Balanceadas de Grau 2 19/40
20 Questões Qual a altura máxima de uma AB com n nós? Resposta: n Árvore degenerada Lista n 2 1 Há outra forma para esta árvore? 20/40
21 Questões Qual a altura mínima de uma AB c/ n nós? Resposta: a mesma de uma AB Perfeitamente Balanceada com N nós N=1; h=1 N=2,3; h=2 N=4..7; h=3 N=8..15; h=4 h min = log 2 N+1 (maior inteiro log 2 N) + 1 ou h min = log 2 (N+1) menor inteiro log 2 (N+1) 21/40
22 Árvores de Altura Mínima 22/40
23 Questões Uma árvore binária completa é uma árvore estritamente binária? Uma árvore estritamente binária é uma árvore binária completa? 23/40
24 Implicações dos conceitos de balanceada e perfeitamente balanceada Estas árvores permitem que a recuperação de informação possa ser realizada de maneira a garantir a altura da ordem de O(log 2 n) e assim a eficiência em termos de tempo. 24/40
25 Representação/Implementação Estática Seqüêncial Simples, Melhor solução quando é completa (cheia). Se não for completa (cheia), um campo usado é necessário para indicar qual posição tem ou não elemento. Encadeada Dinâmica O limite para o número de nós é a memória Preferida no caso geral 25/40
26 Árvores binárias Representação estática e seqüencial de árvores binárias Vetor 0 6 Como colocar a árvore abaixo nesse vetor?
27 Árvores binárias Representação estática e seqüencial de árvores binárias Vetor 0 6 C B A Como colocar a árvore abaixo nesse vetor?
28 Árvores binárias Representação estática e seqüencial de árvores binárias Vetor 0 6 C B A G D Como colocar a árvore abaixo nesse vetor?
29 Árvores binárias Representação estática e seqüencial de árvores binárias Vetor 0 6 C B A G D F E Como colocar a árvore abaixo nesse vetor?
30 Árvores binárias Representação estática e seqüencial de árvores binárias 0 6 C B A G D F E Como saber quem é filho de quem?
31 Árvores binárias Representação estática e seqüencial de árvores binárias 0 6 C B A G D F E Como saber quem é filho de quem? Filhos de i são 2i+1 e 2i+2
32 AB Completa (Cheia) (estática, seqüencial) Vantagem: espaço só p/ armazenar conteúdo; ligações implícitas Desvantagem: espaços vagos se árvore não é completa por níveis, ou se sofrer eliminação 32/40
33 ED AB, seqüencial estática #define NUMNODES 500 typedef int elem; struct arv { elem info; int used; } typedef struct arv Arv[NUMNODES]; 33/40
34 Criar uma árvore com nó raiz void criar(elem x, Arv t[ ]) { Int p; t[0].info = x; t[0].used = 1; For (p=1; p<numnodes;p++) t[p].used = 0; } // para criar a árvore vazia é só setar FALSE no campo used de 0.. NUMNODES 34/40
35 ED AB, encadeada dinâmica Para qualquer árvore, cada nó é do tipo info esq dir typedef int elem; typedef struct arv *Arv; AB.h a a RAIZ struct arv { elem info; b c b c }; struct arv* esq; struct arv* dir; AB.c e g e g 35/40
36 Árvore binária Operações do TAD 1. Criação de uma árvore Dois casos: seguindo a definição recursiva 1. Criar uma árvore vazia 2. Criar uma árvore com 2 subárvores (e,d): faz o papel de inserir nó 2. Verificar se árvore está vazia, mostrar o conteúdo do nó 3. Buscar o pai de um nó, buscar um nó 4. Retornar: nro de nós, nro de folhas, altura 5. Destruir árvore 6. Remover um nó Dois casos: 1. O nó não tem filhos 2. O nó tem um filho a esq, ou a dir ou os dois 7. Verificar nível de um nó 8. Verificar se é balanceada, se é perfeitamente balanceada Outras? 36/40
37 Operações com resolução similar: usam percursos Operações do TAD 1. Criação de uma árvore Dois casos: seguindo a definição recursiva 1. Criar uma árvore vazia 2. Criar uma árvore com 2 subárvores (e,d): faz o papel de inserir nó 2. Verificar se árvore está vazia, mostrar o conteúdo do nó 3. Buscar o pai de um nó, buscar um nó 4. Retornar: nro de nós, nro de folhas, altura 5. Destruir árvore 6. Remover um nó Dois casos: 1. O nó não tem filhos 2. O nó tem um filho a esq, ou a dir ou os dois 7. Verificar nível de um nó 8. Verificar se é balanceada, se é perfeitamente balanceada Imprime
38 Interface para as funções do TAD (sem pensar em erros). Insiram tratamento de erros quando tiverem implementando o TAD. typedef int elem; // Tipo exportado typedef struct arv *Arv; // Cria uma árvore vazia Arv arv_criavazia (void); // Cria uma árvore com uma raiz e duas subárvores Arv arv_cria (elem c, Arv e, Arv d); //Libera toda a memória usada na árvore a Arv arv_destroi (Arv a); // Imprime a lista a void arv_imprime (Arv a); 38/40
39 // Verifica se a árvore a é vazia int arv_vazia (Arv a); // Retorna o conteúdo de um nó x na árvore a elem arv_mostra_no(arv a, int *erro); //Retorna (busca) o endereço de c na árvore a. Se c não está, retorna NULL Arv arv_busca (Arv a, elem c); // Retorna (busca) o endereço do pai de x na árvore a Arv arv_busca_pai(arv a, elem x); //Remove um elemento da árvore, caso ele esteja nela. Retorna erro = 0 se sucesso e erro = 1 se não encontra void arv_remove(arv a, elem x, int *erro); 39/40
40 //Retorna a altura de uma árvore binária a. Considera o nível da raiz = 1 int arv_altura(arv a); // Retorna o número de nós na árvore a int arv_numero_nos(arv a); //Retorna o número de folhas da árvore a int arv_nro_folhas(arv a); //função de percurso de pre-ordem na árvore = busca em profundidade void arv_percurso_pre_ordem(arv a); //função de percurso de em-ordem na árvore void arv_percurso_em_ordem(arv a); //função de percurso de pos-ordem na árvore void arv_percurso_pos_ordem(arv a); 40/40
41 AB - Percursos Objetivo: Percorrer uma AB visitando cada nó uma única vez. Um percurso gera uma seqüência linear de nós, e podemos então falar de nó predecessor ou sucessor de um nó, segundo um dado percurso. Não existe um percurso único para árvores (binárias ou não): diferentes percursos podem ser realizados, dependendo da aplicação. Utilização: imprimir uma árvore, atualizar um campo de cada nó, buscar um item, destruir uma árvore, etc. 41/40
42 AB Percursos em Árvores 3 percursos básicos para AB's: pré-ordem (Pre-order) in-ordem (In-order) pós-ordem (Post-order) A diferença entre eles está, basicamente, na ordem em que cada nó é alcançado pelo percurso Visitar um nó pode ser: Mostrar (imprimir) o seu valor; Modificar o valor do nó; Verificar se o valor pertence a árvore (membro) 42/40
43 Pré-ordem se árvore vazia; fim 1. visitar o nó raiz 2. percorrer em pré-ordem a subárvore esquerda 3. percorrer em pré-ordem a subárvore direita 43/40
44 AB - Percurso Pré-Ordem void arv_percurso_pre_ordem(arv a) { if (!arv_vazia(a)) { A printf("%d\n",a->info); // processa raiz arv_percurso_pre_ordem(a->esq); arv_percurso_pre_ordem(a->dir); B C } } D E F G H I Resultado: ABDGCEHIF 44/40
45 E se invertermos as chamadas recursivas? Trocar pre_ordem(a->esq); pre_ordem(a->dir); POR: pre_ordem(a->dir); pre_ordem(a->esq); Ainda é pré-ordem?? 45/40
46 In-Ordem se árvore vazia, fim 1. percorrer em in-ordem a subárvore esquerda 2. visitar o nó raiz 3. percorrer em in-ordem a subárvore direita 46/40
47 AB - Percurso In-Ordem void arv_percurso_em_ordem(arv a) { if (!arv_vazia(a)) { arv_percurso_em_ordem(a->esq); printf("%d\n",a->info); // processa raiz arv_percurso_em_ordem(a->dir); } } B A C D E F Resultado: DGBAHEICF G H I 47/40
48 E se invertermos as chamadas recursivas? Ainda é in-ordem? Qual o resultado para a árvore abaixo? I O I U H V D N A 48/40
49 Pós-ordem se árvore vazia, fim 1. percorrer em Pós-Ordem a subárvore esquerda 2. percorrer em Pós-Ordem a subárvore direita 3. visitar o nó raiz 49/40
50 AB - Percurso Pós-Ordem void arv_percurso_pos_ordem(arv a) { if (!arv_vazia(a)) { arv_percurso_pos_ordem(a->esq); arv_percurso_pos_ordem(a->dir); printf("%d\n",a->info); //processa raiz } } B A C D E F Resultado: GDBHIEFCA G H I 50/40
51 E se invertermos as chamadas recursivas? Ainda é pós-ordem?
52 Procedimento recursivo p/ destruir árvore, liberando o espaço alocado Usar percurso em pós-ordem Arv arv_destroi (Arv a)
53 Procedimento recursivo p/ destruir árvore, liberando o espaço alocado (percurso em pósordem) Porque não usamos pré ou in-ordem para esta tarefa??? Arv arv_destroi (Arv a) { if (!arv_vazia(a)) { arv_destroi(a->esq); /* libera sae */ arv_destroi(a->dir); /* libera sad */ free(a); /* libera raiz */ } return NULL; }
Á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;
Á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
Á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
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
Á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
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
Á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 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:
Aula 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
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 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
Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
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
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
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
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 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
Á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
Á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
Á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
Árvores. Prof. César Melo DCC/ICE/UFAM
Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não adequadas para representar hierarquias. Exemplo:
Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Árvores Binária de Busca. Prof. César Melo DCC/ICE/UFAM
Árvores Binária de Busca Prof. César Melo DCC/ICE/UFAM 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
UFJF - DCC - Estrutura de Dados e Laboratório de Programação II
UFJF - DCC - Estrutura de Dados e Laboratório de Programação II Árvore Binária (AB) 1. Considerar os tipos abstratos de dados definidos a seguir. Para o nó de uma árvore binária de números inteiros: class
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
Á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
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
Árvore Binária de Busca. Prof. César Melo
Árvore Binária de Busca Prof. César Melo 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
Á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. Prof. César Melo DCC/ICE/UFAM
Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não podem ser usadas como hierarquias. Exemplo: árvore
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.
ESTRUTURA DE DADOS DCC013. Árvore Binária de Busca
ESTRUTURA DE DADOS DCC013 Árvore Binária de Busca Árvore Binária de Busca Propriedade fundamental da árvore binária de busca Valor da chave da raiz é Maior do que o valor da chave da subárvore da esquerda
Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I
Pilhas e Filas Encadeadas Algoritmos e Estruturas de Dados I Pilha Lista linear: pilha Represente graficamente o funcionamento da pilha, representando a pilha vazia, a entrada e a saída de elementos Quais
Métodos Computacionais. Árvores
Métodos Computacionais Árvores Árvores Vetores e Listas são ótimos para representar estrutura de dados lineares, mas não para modelar dados hierárquicos Exemplos de dados hierárquicos: sistema de arquivos
Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
Á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 [email protected] Instituto
Estrutura de Dados: Lista Linear. Parte I Introdução e Listas Sequenciais Estáticas
Estrutura de Dados: Lista Linear Parte I Introdução e Listas Sequenciais Estáticas Estrutura de dados: Lista Linear Def. Uma Lista Linear é uma coleção ordenada de componentes de um mesmo tipo. Ela é ou
Á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
Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto de
Á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
INF 1620 P2-01/11/03 Questão 1 Nome:
INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,
Á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
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. 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
Árvore Binária Exemplo de Implementação
Estrutura de Dados Árvore Binária Exemplo de Implementação Prof. Pedro Luís Antonelli Anhanguera Educacional Lista Encadeada - Exemplo Exemplo de código para a implementação de uma árvore binária encadeada
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
Á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
Estruturas 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
Árvores. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Árvores lgoritmos e Estruturas de Dados I Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são lineares, uma árvore é uma estrutura de
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
Listas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações
Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos
ADT - Árvores. ADT Árvores Definição
ADT - Árvores Outro tipo abstrato de dados (ADT) é a árvore. Como acontece com as listas, a utilização das árvores será basicamente como estruturas de dados ao invés de tipos de dados. Ou seja, o foco
Edital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 053/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
Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
AED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49
AED1 - Árvores Hebert Coelho Instituto de Informática Universidade Federal de Goiás HC AED1-Árvores 1/49 Roteiro Árvore; Árvores - Representações; Árvores - Conceitos; Árvores Binárias; Árvores Binárias
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar
Árvores de Pesquisa (Parte I)
Árvores de Pesquisa (Parte I) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 20 e 21 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa
Á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]
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar
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
ESTRUTURA 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
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
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
Listas Lineares. continuando...
Listas Lineares continuando... 1 Listas! relembrando: listas lineares agrupa informações referentes aum conjunto de elementos que, de alguma forma, se relacionam entre si! Uma lista linear ou está vazia,
