Árvores binárias de busca
|
|
|
- Amália Brezinski Mirandela
- 8 Há anos
- Visualizações:
Transcrição
1 Á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
2 Árvore binárias n Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz B A C Terminologia: filho esquerdo filho direito informação D E F
3 Árvores binárias de busca (ABB) n Também chamadas árvores de pesquisa ou árvores ordenadas n Definição n Uma árvore binária com raiz R é uma ABB se: n a chave (informação) de cada nó da subárvore esquerda de R é menor do que a chave do nó R (em ordem alfabética, por exemplo) n a chave de cada nó da subárvore direita de R é maior do que a chave do nó R n as subárvores esquerda e direita também são ABBs
4 ABB n Exemplos R1 R2 D D B F A F A C é ABB E G B C E não é ABB G
5 ABB n Por que uma ABB é boa? n Imagine a situação n Sistema de votação por telefone ( Você decide ) n Cada número só pode votar uma vez n Um sistema deve armazenar todos os números que já ligaram n A cada nova ligação, deve-se consultar o sistema para verificar se aquele número já votou; o voto é computado apenas se o número ainda não votou n A votação deve ter resultado on-line
6 ABB n Por que uma ABB é boa? n Solução com ABBs n Cada número de telefone é armazenado em uma ABB n Suponha que em um determinado momento, a ABB tenha 1 milhão de telefones armazenados n Surge nova ligação e é preciso saber se o número está ou não na árvore (se já votou ou não)
7 ABB n Por que uma ABB é boa? n Considere uma ABB com chaves uniformemente distribuídas (árvore cheia)
8 ABB n Por que uma ABB é boa? n Responda n Quantos elementos cabem em uma árvore de N níveis, como a anterior? n Como achar um elemento em uma árvore assim a partir da raiz? n Quantos nós se tem que visitar, no máximo, para achar o telefone na árvore, ou ter certeza de que ele não está na árvore?
9 ABB n Por que uma ABB é boa? nível 1 nível 2 nível 3 nível 4 nível 5 nível N Nível Quantos cabem N 2 N milhão 30 1 bilhão...
10 ABB n Por que uma ABB é boa? n Para se buscar em uma ABB n Em cada nó, compara-se o elemento buscado com o elemento presente n Se menor, percorre-se a subárvore esquerda n Se maior, percorre-se subárvore direita n Desce-se verticalmente até as folhas, no pior caso, sem passar por mais de um nó em um mesmo nível n Portanto, no pior caso, a busca passa por tantos nós quanto for a altura da árvore
11 ABB n Exemplo: busca pelo elemento E nas árvores abaixo R1 R2 D D B F A F A C é ABB E G B C E não é ABB G 3 consultas 6 consultas
12 ABB n Por que uma ABB é boa? n Buscas muito rápidas!!!
13 ABB n Representação B D Raiz F Raiz ABB vazia A C G
14 ABB n Declaração similar às árvores binárias convencionais n Manipulação diferente typedef struct no { int info; } no; struct no *esq, *dir; no *raiz;
15 ABB n Operações sobre a ABB n Devem considerar a ordenação dos elementos da árvore n Por exemplo, na inserção, deve-se procurar pelo local certo na árvore para se inserir um elemento n Exercício n Construa a partir do início uma ABB com os elementos K, E, C, P, G, F, A, T, M, U, V, X, Z
16 ABB n Operações básicas n Está na árvore? n Inserção n Remoção
17 ABB n Está na árvore? n Comparando o parâmetro chave com a informação no nó raiz, 4 casos podem ocorrer n A árvore é vazia => a chave não está na árvore => fim do algoritmo n Elemento da raiz = chave => achou o elemento (está no nó raiz) => fim do algoritmo n Chave < elemento da raiz => chave pode estar na subárvore esquerda n chave > info(raiz) => chave pode estar na subárvore direita n Pergunta: quais os casos que podem ocorrer para a subárvore esquerda? E para a subárvore direita?
18 ABB n Exercício n Implementação da sub-rotina de busca de um elemento na árvore
19 Busca em árvore binária int busca(no *p, int x) { if (p==null) } return 0; else if (x==p->info) return 1; else if (x<p->info) return(busca(p->esq,x)); else return(busca(p->dir,x));
20 ABB n Inserção n Estratégia geral n Inserir elementos como nós folha (sem filhos) n Procurar o lugar certo e então inserir n Comparando o parâmetro chave com a informação no nó raiz, 4 casos podem ocorrer n A árvore é vazia => insere o elemento, que passará a ser a raiz; fim do algoritmo n Elemento da raiz = chave => o elemento já está na árvore; fim do algoritmo n Chave < elemento da raiz => insere na subárvore esquerda n Chave > elemento da raiz => insere na subárvore direita
21 ABB n Exercício n Implementação da sub-rotina de inserção de um elemento na árvore
22 Inserção int inserir(no *p, int x) { } if (p==null) { p=(no*) malloc(sizeof(no)); } p->info=x; p->esq=null; p->dir=null; return 1; else if (p->info==x) return 0; else if (x<p->info) return(inserir(p->esq,x)); else return(inserir(p->dir,x));
23 ABB n Remoção n Para a árvore abaixo, remova os elementos T, C e K, nesta ordem K R E P C G M T A F
24 ABB n Remoção n Caso 1 (remover T): o nó a ser removido (R) não tem filhos n n Remove-se o nó R aponta para NULL n Caso 2 (remover C): o nó a ser removido tem 1 único filho n Remove-se o nó n Puxa-se o filho para o lugar do pai n Caso 3 (remover K): o nó a ser removido tem 2 filhos n n n Acha-se a maior chave da subárvore esquerda R recebe o valor dessa chave Remove-se a maior chave da subárvore esquerda
25 ABB n Exercício para casa n Implementação da sub-rotina de remoção de um elemento da árvore
26 ABB n Vantagens n Se nós espalhados uniformemente, consulta rápida para grande quantidade de dados n Divide-se o espaço de busca restante em dois em cada passo da busca n O(Log N)
27 ABB n Análise do algoritmo: O(Log N) N=8 4 2 Log N + 1 vezes Log 8 +1 = 4 1
28 ABB n Contra-exemplo n Inserção dos elementos na ordem em que aparecem n A, B, C, D, E,..., Z n 1000, 999, 998,..., 1
29 ABB n O desbalanceamento da árvore pode tornar a busca tão ineficiente quanto a busca seqüencial (no pior caso) n O(N) n Solução?
30 ABB n O desbalanceamento da árvore pode tornar a busca tão ineficiente quanto a busca seqüencial (no pior caso) n O(N) n Solução? Balanceamento da árvore quando necessário!
31 Conceitos n Árvore estritamente binária n Os nós tem 0 ou 2 filhos A n Todo nó interno tem 2 filhos n Somente as folhas têm 0 filhos B G C D E F
32 Conceitos n Árvore binária completa (ou cheia) n Árvore estritamente binária n Todos os nós folha no mesmo nível A B G C D E F
33 Conceitos n Uma árvore binária é dita balanceada se, 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
34 AVL n Árvore binária de busca balanceada n Para cada nó, as alturas das subárvores diferem em 1, no máximo n Proposta em 1962 pelos matemáticos russos G.M. Adelson-Velskki e E.M. Landis n Métodos de inserção e remoção de elementos da árvore de forma que ela fique balanceada
35 AVL: quem é e quem não é? (a) (b) (c) (d) (e)
36 AVL: quem é e quem não é? (a) (b) (c) (d) (e)
37 Pergunta: a árvore abaixo é AVL?
38 Exercício: onde se pode incluir um nó para a AVL continuar sendo AVL?
39 AVL n Como é que se sabe quando é necessário balancear a árvore? n Se a diferença de altura das subárvores deve ser 1, no máximo, então temos que procurar diferenças de altura maior do que isso n Possível solução: cada nó pode manter a diferença de altura de suas subárvores n Convencionalmente chamada de fator de balanceamento do nó
40 AVL n Fatores de balanceamento dos nós n Altura da subárvore direita menos altura da subárvore esquerda n Hd-He n Atualizados sempre que a árvore é alterada (elemento é inserido ou removido) n Quando um fator é 0, 1 ou -1, a árvore está balanceada n Quando um fator se torna 2 ou -2, a árvore está desbalanceada n Operações de balanceamento!
41 AVL: quem é e quem não é (a) (b) (c) (d) 0 0 (e)
42 AVL: exemplo de desbalanceamento Novo nó 0 0 Novo nó Novo nó 1 1 Novo nó 1 2 Desbalanceou!!!
43 AVL n Controle do balanceamento n Altera-se o algoritmo de inserção para balancear a árvore quando ela se tornar desbalanceada após uma inserção (nó com FB 2 ou -2) n Rotações Se árvore pende para esquerda (FB negativo), rotaciona-se para a direita Se árvore pende para direita (FB positivo), rotacionase para a esquerda n 2 casos podem acontecer
44 AVL: primeiro caso n Raiz de uma subárvore com FB -2 (ou 2) e um nó filho com FB -1 (ou 1) n Os fatores de balanceamento têm sinais iguais: subárvores de nó raiz e filho pendem para o mesmo lado inserção
45 AVL: primeiro caso Rotação do nó pai para a direita (nó com FB=-2 ou 2) desce 4 sobe 6 é realocado Pendendo para a esquerda Árvore balanceada!!!
46 AVL: primeiro caso n Quando subárvores do pai e filho pendem para um mesmo lado n Rotação simples para o lado oposto n Às vezes, é necessário realocar algum elemento, pois ele perde seu lugar na árvore
47 AVL: segundo caso n Raiz de uma subárvore com FB -2 (ou 2) e um nó filho com FB 1 (ou -1) n Os fatores de balanceamento têm sinais opostos: subárvore de nó raiz pende para um lado e subárvore de nó filho pende para o outro (ou o contrário) inserção
48 AVL: segundo caso Rotação do nó filho para a esquerda (nó com FB=1 ou -1) Rotação do nó pai para a direita (nó com FB=-2 ou 2) Árvore balanceada!!!
49 AVL: segundo caso n Quando subárvores do pai e filho pendem para lados opostos n Rotação dupla n Primeiro, rotaciona-se o filho para o lado do desbalanceamento do pai n Em seguida, rotaciona-se o pai para o lado oposto do desbalanceamento n Às vezes, é necessário realocar algum elemento, pois ele perde seu lugar na árvore
50 AVL n As transformações dos casos anteriores diminuem em 1 a altura da subárvore com raiz desbalanceada p n Assegura-se o rebalanceamento de todos os ancestrais de p e, portanto, o rebalanceamento da árvore toda
51 AVL n Novo algoritmo de inserção n A cada inserção, verifica-se o balanceamento da árvore n Se necessário, fazem-se as rotações de acordo com o caso (sinais iguais ou não) n Em geral, armazena-se uma variável de balanceamento em cada nó para indicar o FB
52 AVL n Declaração typedef struct no { int info; struct no *esq, *dir; int FB; } no; no *raiz;
53 AVL n Exercício n Inserir os elementos 10, 3, 2, 5, 7 e 6 em uma árvore e balancear quando necessário
54 AVL n Exercício n Inserir os elementos A, B, C,..., J em uma árvore e balancear quando necessário
Á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
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:
Á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 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 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 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
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,
Estruturas de Dados. Aula 08. Árvores AVL II. Karina Mochetti
Estruturas de Dados 2018.2 Árvore AVL Uma Árvore AVL (Adelson, Velskii e Landis) T é uma Árvore Binária de Busca Balanceada, tal que: T é vazia; T consiste de um nó raiz k e duas subárvores binárias Te
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
Árvores AVL (Balanceadas) Profª.Drª. Roseli Ap. Francelin Romero Fonte: Profa. Patrícia Marchetti Revisão: Gedson Faria
SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores AVL (Balanceadas) Profª.Drª. Roseli Ap. Francelin Romero Fonte: Profa. Patrícia Marchetti Revisão: Gedson Faria Árvores AVL
Linguagem C: Árvores AVL
Instituto de C Linguagem C: Árvores AVL Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Árvores Balanceadas As árvores binárias de pesquisa são,
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.
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
Á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 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
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
Á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 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 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]
Á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
Estruturas de Dados com Jogos. Capítulo 9 Árvores Balanceadas
Estruturas de Dados com Jogos Capítulo 9 Árvores Balanceadas 1 Seus Objetivos neste Capítulo Entender o conceito de Balanceamento, e sua importância para a eficiência das Árvores Binárias de Busca; Desenvolver
Á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 Vermelho-Preto
Árvores Vermelho-Preto SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação (ICMC)
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
Á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
Dicionários. TAD Orientado a conteúdo
Dicionários TAD Orientado a conteúdo Dicionários efinição: Tipo abstrato de dados orientado a onteúdo. Contrasta com as PILHAs e FILAs que são orientadas a posição. perações implementadas: Inserir(d,x)
Á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
Árvores AVL. Prof. Robinson Alves
Prof. Robinson Alves O que veremos? Conceitos Inserção Remoção Balanceamento Código Java de AVL Árvores Balanceadas As árvores binárias de pesquisa são, em alguns casos, pouco recomendáveis para as operações
Á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
Módulo 9. Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II C++ (Rone Ilídio)
Módulo 9 Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II C++ (Rone Ilídio) Árvore Binária Estrutura baseada em ponteiros Os elementos são chamados nós Cada nó é ligado a, 1 ou 2 elementos
Á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 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
Á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 AVL. Nesta aula será apresentado o ADT árvore AVL que são árvores binárias de altura equilibrada. Algoritmos e Estruturas de Dados I
Árvores AVL Nesta aula será apresentado o ADT árvore AVL que são árvores binárias de altura equilibrada Algoritmos e Estruturas de Dados I José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Á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
Á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
ESTRUTURA DE DADOS E ALGORITMOS ÁRVORES BALANCEADAS. Cristina Boeres
ESTRUTURA DE DADOS E ALGORITMOS ÁRVORES BALANCEADAS Cristina Boeres Árvore Binária - altura máxima Seja a árvore A formada com as seguintes inserções! 1, 2, 3, 4, 5, 6 e 7 1 2 3 4! Pior caso: O(n) 5 6
Estruturas de Dados I
UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos [email protected] Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.
Á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
Árvore Vermelho-Preta. Estrutura de Dados II Jairo Francisco de Souza
Árvore Vermelho-Preta Estrutura de Dados II Jairo Francisco de Souza Introdução As árvores Vermelho-preto são árvores binárias de busca Também conhecidas como Rubro-negras ou Red-Black Trees Foram inventadas
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)
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
Árvore AVL A seguir estudaremos árvore AVL e árvore 234. Os slides que versão sobre as árvores retro aludidas foram baseados nos slides gerados pela
488 Árvore AVL A seguir estudaremos árvore AVL e árvore 234. Os slides que versão sobre as árvores retro aludidas foram baseados nos slides gerados pela professora Elisa Maria Pivetta Cantarelli intitulados
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 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 AVL. O balanceamento da árvore pode ser realizado localmente se apenas uma porção da árvore for afetada por operações de inserção ou remoção.
Árvores Árvores AVL Os algoritmos vistos trabalham sobre a árvore toda. Se houver a necessidade de manter o balanceamento a cada inserção ou remoção, então sua eficiência fica bastante prejudicada. O balanceamento
Á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 B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura
Árvores B Prof. Márcio Bueno [email protected] / [email protected] Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes
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
UNILASALLE Curso de Bacharelado em Ciência da Computação. Estrutura de Dados II Prof. Magalí T. Longhi. Árvores AVL*
UNILASALLE Curso de Bacharelado em Ciência da Computação Estrutura de Dados II Prof. Magalí T. Longhi Árvores AVL* * Material preparado para a disciplina de Estrutura de Dados II do Curso de Bacharelado
Á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 =,
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
Á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
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 AVL. Estrutura de Dados II Jairo Francisco de Souza
Árvores AVL Estrutura de Dados II Jairo Francisco de Souza Introdução As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. Idealmente a árvore deve ser razoavelmente equilibrada
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. 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ó
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.
INE5408 Estruturas de Dados
INE5408 Estruturas de Dados - Características - Rotações Árvores AVL Características Manter uma árvore binária de busca balanceada sob a presença de constantes inserções e deleções é ineficiente. Para
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
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-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira
Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil
Árvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros Ribeiro
Universidade Federal de Alagoas - UFAL Departamento de Tecnologia da Informação - TCI Ciência da Computação Árvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros
Á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
Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão)
Estruturas de Dados Árvores AVL: Partes I e II Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich
Filas de Prioridade & Heaps
Filas de Prioridade & 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
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
