Estruturas de Dados II
|
|
|
- Thais Miranda Marreiro
- 7 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados II Rodrigo Porfírio da Silva Sacchi Aula 2: Árvores
2 Árvores
3 Definição: Árvores Uma árvore T é um conjunto finito de elementos denominados nós ou vértices, tal que: T = 0 e a árvore é dita vazia; ou Existe um nó raiz de T, os nós restantes podem ser divididos em n subconjuntos disjuntos, que são as subárvores de T, e as quais, por sua vez, também são árvores.
4 Exemplo Raiz Isto é, um nó de uma árvore pode possuir n subárvores.
5 Definição: Árvores Binárias Uma árvore binária T é um conjunto finito de elementos denominados nós ou vértices, tal que: T = 0 e a árvore é dita vazia; ou Existe um nó raiz de T, os nós restantes podem ser divididos em dois subconjuntos disjuntos, árvore esquerda e árvore direita, que são as subárvores esquerda e direita de T, e as quais, por sua vez, também são árvores binárias.
6 Representação Raiz Árvore esquerda Árvore direita
7 Representação Raiz
8 Algumas definições A raiz de uma árvore é chamada de pai de suas subárvores; Pai subárvore esquerda subárvore direita
9 Algumas definições Como temos uma definição recursiva, todo nó é pai de duas árvores (pode ser vazia); Pai Pai (árvore direita vazia) Subárvore esquerda Subárvore direita Pai (duas árvores vazias)
10 Algumas definições Nós com o mesmo pai são denominados irmãos. Irmãos Irmãos
11 Algumas definições O grau de um nó é o número de subárvores de um nó
12 Algumas definições Um nó sem subárvores é denominado um nó folha, ou seja, um nó com grau igual a zero.
13 Algumas definições O comprimento de um caminho desde a raiz R até um nó N denomina-se o nível do nó N. Nível 1 Nível 2 Nível 3 Nível 4
14 Algumas definições O maior nível de uma árvore é denominado a altura ou profundidade da árvore. Nível 4
15 Propriedade de Árvores Binárias Seja x um nó em uma árvore de pesquisa binária; Se y é um nó na subárvore esquerda de x, então chave[y] <= chave[x]; Se y é um nó na subárvore direita de x, então chave[x] <= chave[y]. Esta propriedade nos permite imprimir todas as chaves de uma árvore binária em uma seqüência ordenada.
16 Definição da estrutura Chamaremos a estrutura de nó; Para uma variável do tipo nó referenciada por meuno tem-se: meuno Pai Ponteiro para o nó Pai; meuno Dado Informação armazenada; meuno Esq Ponteiro para a subárvore esquerda; meuno Dir Ponteiro para a subárvore direita.
17 Definição da Estrutura Dado Pai Esq Dir
18 Definição da Estrutura declare No registro { dado: inteiro; esq: ponteiro No; dir: ponteiro No; pai: ponteiro No; }; Cada elemento em uma árvore é representado basicamente por estes quatro campos. declare raiz: ponteiro No;
19 Operações em árvores binárias Se p é um ponteiro para o nó n de uma árvore binária, e sendo x do tipo do dado do nó e q do tipo ponteiro para nó: x = Dado(p): retorna o conteúdo de n. q = Esq(p)/Dir(p): retorna ponteiro para o filho esquerdo/direito de n; retorna NULL se Esq ou Dir não existir.
20 Operações em árvores binárias p = CriaArvore(x): cria nova árvore com um único nó com o campo informação valendo x, e retorna um ponteiro para aquele nó; CriaNoEsq(p,x)/CriaNoDir(p,x): recebe ponteiro para nó sem filho esquerdo/direito e cria novo nó, filho esquerdo/direito do nó apontado por p com Dado valendo x. Podemos criar uma única função para alocar um nó de uma árvore, ao invés de criar três funções.
21 Percurso em Árvores Binárias Três tipos de percursos: Percurso de árvore em ordem: A chave da raiz da subárvore é impressa entre os valores de sua subárvore esquerda e aqueles de sua subárvore direita. Percurso de árvore em pré-ordem: Imprime a raiz antes dos valores de uma ou outra subárvore. Percurso de árvore em pós-ordem: Imprime a raiz depois dos valores contidos em suas subárvores.
22 Percurso em Árvores Binárias Percurso de árvore em ordem: procedimento emordem(ptr: ponteiro No) início se ( ptr!= null ) então emordem(ptr esq); escreva ptr dado; emordem(ptr dir); fim_se fim
23 Percurso em Árvores Binárias Percurso de árvore em pré ordem: procedimento preordem(ptr: ponteiro No) início se ( ptr!= null ) então escreva ptr dado; preordem(ptr esq); preordem(ptr dir); fim_se fim
24 Percurso em Árvores Binárias Percurso de árvore em pós ordem: procedimento posordem(ptr: ponteiro No) início se ( ptr!= null ) então posordem(ptr esq); posordem(ptr dir); escreva ptr dado; fim_se fim
25 Percurso em Árvores Binárias Complexidade: Dado n o número de nós em uma árvore binária de busca, os três algoritmos gastam Θ(n); Por que? Após a chamada inicial, o procedimento é chamado de forma recursiva exatamente duas vezes para cada nó na árvore, uma vez para seu filho da esquerda e uma vez para seu filho da direita.
26 Busca em uma Árvore Binária Operação mais comum a ser executada por uma chave armazenada na árvore: função ponteiro No buscaarvore(ptr: ponteiro No, k, inteiro) início se ( ptr = null k = ptr dado ) então retorne ptr; fim_se se ( k < ptr dado ) então retorne buscaarvore(ptr esq, k); senão retorne buscaarvore(ptr dir, k); fim_se fim
27 Busca em uma Árvore Binária
28 Busca em uma Árvore Binária Os nós encontrados durante a recursão formam um caminho descendente na árvore, a partir da raiz; Portanto, o tempo de execução de buscaarvore é O(h), onde h é a altura da árvore. Exercício: Como podemos transformar esta função em uma função iterativa?
29 Mínimo e Máximo O menor elemento em uma árvore binária pode ser encontrado percorrendo a mesma usando ponteiros para os filhos da esquerda desde a raiz até o elemento ser encontrado. De forma análoga, o maior elemento em uma árvore binária pode ser encontrado percorrendo a mesma usando ponteiros para os filhos da direita desde a raiz até o elemento ser encontrado.
30 Mínimo e Máximo A função a seguir retorna um ponteiro para o elemento mínimo na subárvore com raiz em um determinado nó ptr. função ponteiro No minimo(ptr: ponteiro No) início enquanto ( ptr esq!= null ) faça ptr ptr esq; fim_enquanto retorne ptr; fim
31 Mínimo e Máximo Exercício: Implemente uma função que retorne um ponteiro para o maior elemento em uma árvore binária. Ambos são executados em um tempo O(h) em uma árvore de altura h.
32 Sucessor e Predecessor Dado um nó de uma árvore binária, às vezes é importante ser capaz de encontrar seu sucessor na seqüência ordenada determinada por um percurso de árvore em ordem; Se todas as chaves são distintas, o sucessor de um nó ptr é o nó com a menor chave maior que a chave de ptr.
33 Sucessor e Predecessor A estrutura de uma árvore binária nos permite descobrir o sucessor de um nó sem sequer comparar chaves; A função Sucessor retorna um ponteiro para o sucessor de ptr ou NULL se ptr tem a maior chave na árvore.
34 Sucessor e Predecessor função ponteiro No sucessor(ptr: ponteiro No) declare aux: ponteiro No; início se ( ptr dir!= null ) então retorne minimo(ptr dir); fim_se aux ptr pai; enquanto ( aux!= null && ptr = aux dir ) faça ptr aux; aux aux Pai; fim_enquanto retorne aux; fim
35 Sucessor e Predecessor Primeiro caso: Se a subárvore direita do nó ptr for não vazia, o sucessor de ptr será exatamente o nó da extremidade esquerda na subárvore direita.
36 Sucessor e Predecessor Segundo caso: Se a subárvore direita do nó ptr for vazia e ptr tiver um sucessor aux, então aux será o ancestral mais baixo de ptr cujo filho da esquerda também é um ancestral de ptr; Na Figura a seguir, o sucessor de 15 é 17, enquanto o sucessor de 13 é 15
37 Sucessor e Predecessor
38 Sucessor e Predecessor Complexidade: Tempo de execução de Sucessor em uma árvore de altura h é O(h), pois segue-se um caminho para cima na árvore, ou um caminho para baixo na árvore. Predecessor é simétrico de Sucessor e também é executado em um tempo O(h).
39 Sucessor e Predecessor Exercício: Implemente a função Predecessor, a qual retorna um ponteiro para um tipo No e passa como argumento um ponteiro para No.
40 Inserção Assim como feito para listas encadeadas, para inserir um nó em uma árvore binária, este novo nó deve ser alocado dinamicamente usando a função malloc. Deve existir uma função para alocar um nó em uma árvore.
41 Inserção Para alocar um nó de uma árvore binária: procedimento aloca(novo: ponteiro No, dado: inteiro) início novo new No(); // Misturando com Java novo pai null; novo esq null; novo dir null; novo dado dado; fim
42 Inserção Para inserir um valor v, utilizamos a função abaixo, a qual insere um novo nó na árvore, mantendo suas propriedades A função passa como argumento um ponteiro para a raiz da árvore e um valor do tipo int, para ser colocado como campo chave do novo nó.
43 Inserção função lógico insere(ptr: ponteiro No, valor: inteiro, pai: ponteiro No) início se ( ptr = null ) então // Árvore inicialmente vazia. aloca(ptr, valor); ptr pai pai; senão // Arvore não está vazia. se ( valor < ptr dado ) então insere(ptr esq, valor, ptr); senão se ( valor > ptr dado ) então insere(ptr dir, valor, ptr); senão escreva Elemento já existe"; fim_se fim_se fim_se fim
44 Inserção Qual o tempo de execução desta função?
45 Remoção Devem ser considerados três casos: Se o nó a ser removido não tem filhos, modifica o pai para apontar para NULL
46 Remoção Devem ser considerados três casos: Se o nó tem um único filho, extraí o nó criando um novo vínculo entre sei pai e seu filho
47 Remoção Devem ser considerados três casos: Finalmente, se o nó z (a ser removido) tem dois filhos, extrai-se y, o sucessor do nó, que não tem nenhum filho da esquerda e substitui-se dados e ponteiros de z pelos de y.
48 Remoção Qual o tempo de execução desta função?
49 Desaloca Crie uma função recursiva que desaloque todos os nós da árvore. procedimento desaloca(ptr: ponteiro No) início se ( ptr!= null ) então desaloca(ptr esq); desaloca(ptr dir); delete ptr; ptr null; fim_se fim
50 Exercício 1 Implemente a uma função para imprimir, no vídeo, os elementos de uma árvore binária, mantendo as características de representação de uma árvore binária.
51 Exercício 2 Implemente a remoção em uma árvore binária. Fica apenas como exercício, visto que implementações de árvores mais importantes estão por vir. Realize uma pesquisa sobre altura de uma árvore e implemente uma função que calcule a altura de uma árvore.
52 Imprime em Nível procedimento imprime (ptr: ponteiro No, nivel: inteiro) início declare k: inteiro; se ( ptr!= null ) então imprime (ptr dir, nivel +1); para k de 0 até k < 3 + nivel faça escreva " "; // Imprima espaço em branco. escreva ptr -> dado; // Pule uma linha antes. imprime (ptr esq, nivel +1); fim_se fim
53 Algoritmo da Remoção função ponteiro No remover(ptr: ponteiro No, x: inteiro) início se( ptr == null ) então return null; senão se( k < ptr chave ) então retorne remover(ptr esq, x); senão se( k > ptr chave ) então retorne remover(ptr dir, x); senão retorne delete(ptr, x); fim_se fim_se fim_se fim
54 Algoritmo da Remoção Função ponteiro No delete(ptr: ponteiro No, x: inteiro) início se( ptr esq == null ou ptr dir == null ) então pty ptr; senão pty sucessor(ptr); fim_se se( pty esq!= null ) então ptx pty esq; senão ptx pty dir; fim_se se( ptx!= null ) então ptx pai pty pai; fim_se
55 Algoritmo da Remoção //... continuação se( pty pai == null ) então // Faça ptx ser raiz da árvore. senão se( pty == pty pai esq ) então pty pai esq ptx; senão pty pai dir ptx; fim_se fim_se se( pty!= ptr ) então ptr chave pty chave; // Se tiver mais dados, copiar. fim_se return pty; fim
Estruturas de Dados I
Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi [email protected] 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus
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.
Á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
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. 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 & Á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
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
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
Á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,
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
Á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
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
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 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
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
Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc material de referência
Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc [email protected] material de referência http://www.tiagodemelo.info/aulas 1 Roteiro Motivação Representação de árvores Definição Terminologia
Á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
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
Á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. ! 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á
Á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:
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 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
Á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
ALGORITMOS AVANÇADOS. UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL. Luiz Leão
UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 5.1 - Árvores, Árvores Binárias e Árvores Binárias de Busca
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
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
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
Algoritmos e Estruturas de Dados II Árvores - AVL. Prof. César Melo DCC/ICE/UFAM
Algoritmos e Estruturas de Dados II Árvores - AVL Prof. César Melo DCC/ICE/UFAM Até mais ABB, muito prazer AVL. Escreva sobre a estrutura de dados Árvore Binária de Busca(ABB). Você terá 10 minutos para
Á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
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
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1 (ENADE Computação 2005) No famoso jogo da Torre de Hanói,
Linguagem Haskell. Maria Adriana Vidigal de Lima
em Haskell Linguagem Haskell Faculdade de Computação - UFU Dezembro - 2009 em Haskell 1 em Haskell Noções sobre Fundamentos em Haskell Noções sobre Uma árvore é uma estrutura de dados baseada em listas
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
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Aula 19: - Comparação empírica de algoritmos de ordenação - Árvores Prof. Jesús P. Mena-Chalco [email protected] 1Q-2016 1 Comparação empírica de algoritmos de
MC3305 Algoritmos e Estruturas de Dados II. Aula 06 Árvores. Prof. Jesús P. Mena-Chalco.
MC3305 Algoritmos e Estruturas de Dados II Aula 06 Árvores Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Árvores Uma árvore é uma estrutura de dados mais geral que uma lista ligada. Nessa
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.
Métodos de Pesquisa de Dados (II) Árvore N-ária de Pesquisa
UFSC-CTC-INE INE5384 - Estruturas de Dados Métodos de Pesquisa de Dados (II) Prof. Ronaldo S. Mello 2002/2 Árvore N-ária de Pesquisa Uma Árvore N-ária de Pesquisa (ANP) é uma árvore que: contém m subárvores
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
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
Á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 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 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]
Á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ó
Á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 Conceitos gerais
http://www.mysticfractal.com/ FractalImaginator.html Árvores Conceitos gerais 9/11 Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que sã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 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. 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
Á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
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 Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore
Árvores Rubro-Negras Árvores Rubro-Negras (Vermelho-Preta) Árvore Binária de Pesquisa (ABP) com nodos coloridos de vermelho e preto Árvore balanceada Qualquer caminho da raiz até as folhas, nenhum caminho
INE5408 Estruturas de Dados
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento Introdução Árvores são estruturas de dados que
Raiz, filho, pai, irmão, ancestral, descendente, folha.
17.1 Aula 17: Conceitos de Árvores e Árvores Binárias Raiz, ilho, pai, irmão, ancestral, descendente, olha. Nível, altura, subárvore, subárvore parcial. Árvores binárias completas, binárias cheias, estritamente
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
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
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,
Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2
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
Lista de Exercícios sobre Listas Implementadas por Encadeamento
Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um
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
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
Á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
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 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).
Árvores. Árvores Binárias. Conceitos gerais Terminologia Forma de Representação de Árvores. Conceitos gerais Operações
Árvores Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Operações 2 Conceitos gerais Uma árvore é uma estrutura de dados que se caracteriza por uma relação
Á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ó
Á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:
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. 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 =,
Aula 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
Lista Encadeada (Linked List)
Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de
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
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
