Á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

Documentos relacionados
Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Árvores. Listas e árvores. Árvores. Árvores. Árvores. Árvores 03/11/2011. Listas lineares

Árvores - Conceitos. Roseli Ap. Francelin Romero

Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc material de referência

Árvores Conceitos gerais

Raiz, filho, pai, irmão, ancestral, descendente, folha.

ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

Fontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:

CONCEITO DE ÁRVORE CES-11. A raiz é o único nó que não possui ancestrais. As folhas são os nós sem filhos. Exemplos:

Árvores & Árvores Binárias

CES-11. Árvores. Conceito de árvore. Definição recursiva de árvore Definições associadas a árvore. Ordenação dos nós de uma árvore

Aula 08. Estruturas de dados Árvore e Grafo

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Estruturas de Dados II

Árvores Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore

ÁRVORES E ÁRVORES BINÁRIAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

CES-11. Algoritmos e Estruturas de Dados

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Árvores. Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque. Engenharia da Computação. Poli - UPE

Árvores & Árvores Binárias

Árvores. N-árias, Binárias, Busca. Vanessa Maia Berny Mestrado em Ciência da Computação

(a) todos os nós irmãos da árvore m-ária são interligados; (b) todas as conexões pai-filho são removidas, exceto a primeira de cada grupo.

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Árvores & Árvores Binárias

ESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres

Algoritmos e Estruturas de Dados I

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Pesquisa em memória primária

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias

Árvores, Árvores Binárias e Árvores Binárias de Pesquisa. Rui Jorge Tramontin Jr.

AED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49

Árvores. Árvores Binárias. Conceitos gerais Terminologia Forma de Representação de Árvores. Conceitos gerais Operações

Árvores. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP

Árvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação

Estrutura de Dados. Aleardo Manacero Jr.

Árvores: Conceitos Básicos e Árvore Geradora

MC3305 Algoritmos e Estruturas de Dados II. Aula 06 Árvores. Prof. Jesús P. Mena-Chalco.

Árvores binárias de busca

Árvores binárias de busca

Árvores Binárias. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 17/03/2015

Estrutura de Dados: Aula 3 - Linguagem C

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

UNIDADE III Estruturas de Dados Moderna Introdução à Árvores. Fonte: Cláudio Esperança e Eduardo Piveta

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Árvores Binárias. 9/11 e 11/11 Conceitos Representação e Implementação

Árvores Binárias de Busca (ABB) 18/11

UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista

Linguagem Haskell. Maria Adriana Vidigal de Lima

Aplicações de listas e outras estruturas

Aplicações de listas Outras estruturas

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

ÁRVORES E ÁRVORES BINÁRIAS. Adaptado de Alexandre P

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres

Estruturas de Dados. Parte deste material consiste de: Adaptações dos slides gentilmente cedidos pela Profa. Maria Cristina F.

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

ÁRVORE BINÁRIA DE BUSCA TDA-ABB

Limite assintótico para a ordenação, Ordenação em tempo linear

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Ordenação por Intercalação Métodos de Ordenação Parte 4

Prof. Jesus José de Oliveira Neto

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores Binárias de Busca (ABB) 18/11

Árvores binárias de busca

Aula 20: Árvores Binárias de Busca. Algoritmos de busca e inserção

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

Unidade: Estruturas de Dados Não Lineares. Unidade I:

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

Capítulo 8: Abstrações de dados

Árvores. Prof. César Melo DCC/ICE/UFAM

Aula 19: Percursos em árvores binárias. Percurso em pré-ordem, ordem simétrica e pós-ordem. Algoritmo para cálculo de altura uma árvore binária

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256

Aula 28: Listas de Prioridades

ÁRVORES. Prof. Yan ndre Maldonado - 1. Prof. Yandre Maldonado e Gomes da Costa

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

INF 1010 Estruturas de Dados Avançadas. Árvores binárias

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina

Ordenação por Seleção Métodos de Ordenação Parte 3

Métodos de Ordenação

Estruturas de Dados I

Edital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Árvores B. Definição: Seja t a ordem da árvore B. Uma árvore B de ordem t é uma árvore ordenada que é vazia, ou que satisfaz as seguintes condições:

Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1

Matemática Discreta 10

Árvores Vermelho-Preto

Árvores Vermelho-Preto

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

Árvores de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.

Métodos de Ordenação Parte 4

Lista: conceito, representação e algoritmos

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Transcrição:

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 mais complexas do que as listas estudadas até agora Listas não lineares: árvores, grafos, etc. 1

Exemplo Motivações para usá-las Inúmeros problemas podem ser representados e tratados por árvores admitem tratamento computacional eficiente quando comparadas a estruturas mais genéricas como os grafos (os quais, por sua vez são mais flexíveis e, portanto, complexos) Ótimas para busca! 2

Definição Uma árvore T, ou simplesmente uma árvore, é um conjunto finito de elementos denominados nós ou vértices tais que T=0 é a árvore dita vazia ou Existe um nó especial R, chamado raiz de T; os nós restantes constituem um único conjunto vazio ou são divididos em m (>=1) conjuntos não vazios que são as subárvores de R, sendo que cada subárvore é, por sua vez, uma árvore A Raiz B C D E F G H I J K subárvore L M N subárvore subárvore 3

Nós filhos, pais, tios, irmãos e avô Seja V o nó raiz de uma subárvore de T Os nós raízes w1, w2,... wj das subárvores de V são chamados filhos de V V é chamado pai de w1, w2,... wj Os nós w1, w2,...wj são irmãos Se Z é filho de w1, então w2 é tio de Z e V é avô de Z Grau de saída, descendente e ancestral O número de filhos de um nó é chamado grau (de saída) desse nó Se X pertence à subárvore V de T, então X é descendente de V e V é ancestral, ou antecessor, de X 4

Nó folha e nó interior Um nó que não possui descendentes é chamado de nó folha, ou seja, um nó folha é aquele com grau de saída nulo ou zero Um nó que não é folha (isto é, possui grau de saída diferente de zero) é chamado nó interior, nó interno ou, ainda, nó intermediário Grau de uma árvore O grau de uma árvore é o máximo entre os graus de seus nós 5

Floresta Uma floresta é um conjunto de zero ou mais árvores Caminho, comprimento do caminho Uma seqüência de nós distintos v1, v2,..., vk, tal que existe sempre entre nós consecutivos (isto é, entre v1 e v2, entre v2 e v3,..., v(k-1) e vk) a relação "é filho de" ou "é pai de" é denominada um caminho na árvore; diz-se que v1 alcança vk e que vk é alcançado por v1 Um caminho de vk vértices é obtido pela seqüência de k-1 pares; o valor k-1 é o comprimento do caminho 6

Nível (ou profundidade) e altura de um nó O nível de um nó é o número de nós do caminho da raiz até o nó O nível da raiz é portanto 1 A altura de um nó V é o número de nós no maior caminho de V até um de seus descendentes As folhas têm altura 1 Altura de uma árvore A altura de uma árvore T é igual ao máximo nível de seus nós Em geral, representa-se a altura de T por h(t) e a altura da subárvore de raiz V por h(v) 7

Árvore ordenada Uma árvore ordenada é aquela na qual os filhos de cada nó estão ordenados Assume-se ordenação da esquerda para a direita Árvore ordenada 8

Árvore não ordenada Árvore cheia Uma árvore de grau d é uma árvore cheia se possui o número máximo de nós, isto é, todos os nós tem número máximo de filhos (exceto as folhas, logicamente) e todas as folhas estão na mesma altura 9

Exemplo de árvore cheia de grau 2 : exemplo Representação da expressão aritmética (a + (b * ((c / d) - e))) 10

Considere a árvore abaixo Quantas subárvores A tem? A B C D E F G H I J K L M N Considere a árvore abaixo Quem são os filhos de A? E os descendentes de A? A B C D E F G H I J K L M N 11

Considere a árvore abaixo Quais são os nós folha dessa árvore? A B C D E F G H I J K L M N Considere a árvore abaixo Qual o grau dessa árvore? A B C D E F G H I J K L M N 12

Considere a árvore abaixo Qual a altura dessa árvore? A B C D E F G H I J K L M N binárias com grau 2, ou seja, cada nó pode ter 2 filhos, no máximo Raiz B A C Terminologia: filho esquerdo filho direito informação D E F 13

binárias Exercício Considerando a implementação dinâmica e encadeada, declare a estrutura de cada nó de uma árvore binária binárias Representação dinâmica e encadeada de uma árvore binária B D Raiz F Raiz AB vazia A C G 14

binárias Pergunta Quantos ponteiros são necessários para se percorrer uma árvore binária completamente? Quantos são necessários para percorrer qualquer tipo de árvore? binárias Representação estática e seqüencial de árvores binárias Vetor 0 6 Como colocar a árvore abaixo nesse vetor? 15

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

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

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 binárias Exercício: represente a árvore abaixo em um vetor 18

binárias Representação estática e seqüencial de árvores binárias Como fazer a inserção e remoção de elementos nessa representação? É mais fácil ou difícil do que na implementação encadeada e dinâmica? É mais eficiente? E em termos de uso da memória? binárias Exercício Implemente uma sub-rotina para percorrer uma árvore binária e imprimir todos os seus elementos Considere a implementação dinâmica e encadeada 19

binárias Exercício Implemente uma sub-rotina para determinar a altura de uma árvore binária Considere a implementação dinâmica e encadeada 20