Árvores. Estruturas de Dados. Prof. Vilson Heck Junior
|
|
- Ilda Correia Marinho
- 6 Há anos
- Visualizações:
Transcrição
1 Árvores Estruturas de Dados Prof. Vilson Heck Junior
2 Árvores INTRODUÇÃO
3 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 lineares, ou seja, os elementos não são dispostos em forma sequencial;
4 Introdução Árvores são amplamente utilizadas e possuem diversas estratégias de implementação; Cada estratégia tem um conjunto específico de algoritmos para armazenamento e recuperação dos dados; Árvores genealógicas são análogas às estruturas de dados árvores.
5 Árvores COMPOSIÇÃO
6 Composição As árvores são compostas por: Nodos/Nós: são os elementos inseridos em uma árvore; Arestas: fazem a ligação entre 2 nodos;
7 Composição O primeiro Nodo de uma árvore é chamado de Raiz; Todos os demais nodos da árvore serão seus descendentes; Nodos que não tenham filhos serão chamados de folhas, ou terminais; Os demais nodos são ditos intermediários, ou às vezes: galhos.
8 Composição As principais propriedades de cada nodo são: Ordem/Grau: Indica o número de filhos que o nodo possui; Nível/Altura/Profundidade: Indica a distância do nodo em relação à raiz; A árvore também possuí valores de ordem e de nível. Ambos os valores serão assumidos com base no maior valor encontrado em qualquer nodo.
9 Árvore: Nível 3 e Ordem 4 Nós / Nodos Arestas A Nível 0 Nó A = Raiz Ordem 2 D G B E Ordem H I F J C Nível Nível 1 Nó B = Galho Ordem 3 Nó C = Folha Ordem 0 Nível 2 Nó D = Folha Ordem 0 Nó E = Galho Ordem 4 Nó F = Folha Ordem 0 Nível 3 Nó G = Folha Ordem 0 Nó H = Folha Ordem 0 Nó I = Folha Ordem 0 Nó J = Folha Ordem 0
10 Árvores OUTRAS PROPRIEDADES
11 Propriedades Qualquer nodo de uma árvore pode ser chamado de raiz para uma sub-árvore; Um Nodo Pai é um nodo conectado diretamente acima de outro nodo; Um Nodo Filho é um nodo conectado diretamente abaixo de outro nodo; Nodos Irmãos compartilham o mesmo nodo pai;
12 Propriedades Nodos Ancestrais são todos os nodos que estão acima de um nodo, com ligação direta ou indireta; Nodos Descendentes são todos os nodos que estão abaixo de um nodo, com ligação direta ou indireta;
13 Árvores EXERCÍCIOS
14 A B C D E F G H I K M N O P R S T U X Y Z W & #
15 Árvores ÁRVORES BINÁRIAS
16 Árvores Binárias Árvores Binárias são árvores com todas as propriedades vistas anteriormente, porém com algumas regras: A Ordem máxima da árvore é 2; Todos os nodos de uma sub-árvore, do filho à direita, serão maiores do que o nodo pai; Todos os nodos de uma sub-árvore, do filho à esquerda, serão menores do que o nodo pai; Geralmente chamadas de Árvores binárias de pesquisa ;
17 Árvores Binárias O número máximo de nodos para cada nível de uma árvore binária é determinada pela equação: total 2 nível
18 Árvore Binária: Nível 4 e Ordem 2 Nós / Nodos Arestas A Nível 0 Nó A = Raiz Ordem 2 B C Nível 1 Nó B = Galho Ordem 2 Nó C = Galho Ordem 2 D H E Ordem I F Nível G Nível 2 Nó D = Folha Ordem 0 Nó E = Galho Ordem 2 Nó F = Folha Ordem 0 Nó G = Folha Ordem 0 Nível 3 Nó H = Galho Ordem 1 Nó I = Folha Ordem 0 J Nível 4 Nó J = Folha Ordem 0
19 Árvores EXEMPLO: ÁRVORE BINÁRIA EM MDA
20 Árvores IMPLEMENTADO ÁRVORES BINÁRIAS
21 Implementando Árvores são implementadas com elementos dinâmicos, assim como nas listas encadeadas; Nas listas, tínhamos apenas um próximo elemento. Nas árvores, cada elemento terá dois próximos : Filho da Esquerda; e Filho da Direita.
22 Implementando public class Nodo { public int numero; //outros atributos //... public Nodo esquerda; public Nodo direita; public Nodo pai; //Opcional }
23 Implementando Para implementar operações em árvores, é necessário percorrer diversos nodos dela; Para inserir um novo elemento, é necessário descer a árvore nível por nível até encontrar a posição adequada ao novo elemento; Para remover um elemento, é necessário descer a árvore até encontrar o elemento a ser removido;
24 Implementando Vale lembrar das regras mais importantes de navegação nas árvores binárias de pesquisa: Elementos menores estarão à esquerda; Elementos maiores estarão à direita.
25 Implementando Inserção: Se a raiz estiver vazia: Insere na raiz. Senão: Navega pela árvore (subindo de nível) comparando o valor a ser inserido com os valores dos nodos visitados; Se Menor Esquerda; e Se Maior Direita; Quando encontrar um nodo sem filho para o lado por onde deveria seguir, insere o novo elemento nesta posição.
26 public static void inserir(nodo novo) { novo.direita = null; novo.esquerda = null; novo.pai = null; if (raiz == null) { raiz = novo; } else { Nodo aux = raiz; while (aux!= null) { if (novo.numero < aux.numero) { if (aux.esquerda == null) { aux.esquerda = novo; break; } aux = aux.esquerda; } } } else { if (aux.direita == null) { aux.direita = novo; break; } aux = aux.direita; } } novo.pai = aux;
27 Implementando Pesquisa: Se a raiz estiver vazia: Não encontrado! Senão: Navega pela árvore (subindo de nível) comparando o valor pesquisado com os valores dos nodos visitados: Igual Encontrado! Menor Desloca à Esquerda; Maior Desloca à Direita; Se percorrer toda a árvore sem encontrar: Não encontrado!
28 Implementando public Nodo pesquisar(int nro) { Nodo aux = raiz; while (aux!= null) { if (aux.numero == nro) { return aux; } else if (nro < aux.numero) { aux = aux.esquerda; } else { aux = aux.direita; } } return null; }
29 Implementando Navegar por todos os Nodos:
30 Implementando Listar Conteúdo da Árvore: A listagem da árvore pode ser feitas de três formas básicas: Em ordem: 1, 2, 3, 4, 6, 8 Pré-ordem: 6, 2, 1, 4, 3, 8 Pós-ordem: 1, 3, 4, 2, 8,
31 Implementando Listar Conteúdo da Árvore: Pode ser implementado com diversas estratégias: Recursividade; Pilha; Busca do subsequente
32 Listar com Recursividade public static void listar(nodo inicio) { if (inicio == null) { return; } listar(inicio.esquerda); System.out.println(inicio.numero); listar(inicio.direita); }
33 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
34 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
35 Implementando Remoção de Nodos Raiz sem filhos: Raiz = null;
36 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
37 Implementando Remoção de Nodos Raiz com um filho: Raiz = Filho Único da Raiz;
38 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
39 Implementando Remoção de Nodos Raiz com dois filhos: Substituto = Subsequente(Raiz); //Aux Substitui (Raiz pelo Substituto);
40 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
41 Implementando Remoção de Nodos Não Raiz sem filhos: PaiAux = Aux.Pai; Se (PaiAux.Esquerda == Aux) então PaiAux.Esquerda = null; Senão PaiAux.Direita = null;
42 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
43 Implementando Remoção de Nodos Não Raiz / 1 filho: PaiAux = Aux.Pai; FilhoAux = Aux.Filho; (esquerda, ou direita) Se (PaiAux.Esquerda == Aux) então PaiAux.Esquerda = FilhoAux; Senão PaiAux.Direita = FilhoAux;
44 Remoção de Nodos: Aux = Pesquisar(Nodo) Se Aux == NULL não encontrado! Senão: Se Aux for raiz: Sem filhos Com um filho Com dois filhos Senão Sem filhos Com um filho Com dois filhos Implementando
45 Implementando Remoção de Nodos Não Raiz / 2 filhos: Substituto = Subsequente(Aux); Substitui (Aux pelo Substituto);
46 Implementando private static boolean substituirnodo(nodo original, Nodo novo) { if (original == null novo == null) { } return false; Nodo pai = original.pai; if (pai!= null) { } if (pai.esquerda == original) { pai.esquerda = novo; } else { } pai.direita = novo; novo.pai = pai; Nodo filho = original.esquerda; if (filho!= null) { } filho.pai = novo; novo.esquerda = filho; } filho = original.direita; if (filho!= null) { } filho.pai = novo; novo.direita = filho; return true; Continuação...
47 Implementando (1/3) public static boolean remover(nodo rem) { if (rem == null) { return false; } //Informação paterna Nodo pai = rem.pai; //Existe um substituto único ou nenhum? Nodo subst; if (rem.esquerda == null rem.direita == null) { //Ambos são null? sem substituto if (rem.esquerda == rem.direita) { subst = null; } else { //Se direita vazia, substituto esta na esquerda e vice versa if (rem.direita == null) { subst = rem.esquerda; } else { subst = rem.direita; } }
48 Implementando (2/3) //Se tiver um pai, atualiza vinculo dos filhos, senão atualiza a raiz. } if (pai!= null) { if (pai.esquerda == rem) { pai.esquerda = subst; } else { pai.direita = subst; } } else { raiz = subst; } //Se tiver um filho substituto, atualiza seu vinculo paterno if (subst!= null) { subst.pai = pai; } return true;
49 Implementando (3/3) //Se chegarmos aqui é por que o nodo excluído tem dois filhos. (Subsequente) //Procuramos o elemento imediatamente maior e que não tenha filho a esquerda Nodo proximo = rem.direita; while (proximo.esquerda!= null) { } proximo = proximo.esquerda; //Removemos o nodo que tem apenas um filho remover(proximo); //Recursividade //Inserimos o nodo "próximo removido" no lugar do "removido" substituirnodo(rem, proximo); } //Se estivermos excluindo a raiz, atualiza ela if (pai == null) { raiz = proximo; } return true;
50 Trabalho Implemente um Árvore Binária de Pesquisa para realizar a inserção, pesquisa, remoção e listagem de um cadastro de alunos. Os alunos serão cadastrados por: Nome (chave, String) Matricula (long) Nome do curso (String) Como nome é o campo chave, a separação esquerda/direita dos elementos deverá ser feita com base nos nomes dos alunos. Exemplo de função para comparar strings de forma alfabética :
51 Árvores ÁRVORES BALANCEADAS Imagem: Natalie Jeremijenko
52 Árvores O pior cenário para uma árvore binária de pesquisa é quando uma sequência de números é inserida já em ordem: Crescente; ou Decrescente.
53 Árvore não Balanceada Entrada: 2, 5, 8, 10,
54 Árvores Para melhorar o tempo de busca em árvores binárias de pesquisa, é possível aplicar técnicas de balanceamento, conforme ilustração a seguir:
55 Balanceando a Árvore
56 Balanceando a Árvore
57 Balanceando a Árvore
58 Árvores AVL O conceito de Árvore AVL foi criado em 1962 por Adelson-Velsky e Landis; É uma árvore binária de pesquisa balanceada; O primeiro diferencial: cada nodo possuí um campo numérico indicando a diferença de altura para cada subárvore filha: 0 : subárvores com mesma altura; 1 : subárvore direita é 1 nível maior; -1 : subárvore esquerda é 1 nível maior;
59 Árvore Binária NÃO AVL: Nível 3 e Ordem 2 Nós / Nodos Arestas A Nível 0 Nó A = Raiz Ordem 2 B Ordem D E C Nível Nível 1 Nó B = Galho Ordem 2 Nó C = Galho Ordem 2 Nível 2 Nó D = Galho Ordem 2 Nó E = Galho Ordem 1 H I Nível 3 Nó H = Folha Ordem 0 Nó I = Folha Ordem 0 Nível 4
60 Diferenças A Nível 0 Nó A: Dif = -2 B C Nível 1 Nó B: Dif = -1 Nó C: Dif = 0 D E Nível 2 Nó D: Dif = 0 Nó E: Dif = 0 H I Nível 3 Nó H: Dif = 0 Nó I: Dif = 0
61 Principal Regra: Árvores AVL Nenhum nodo pode permanecer com diferença maior de nível em qualquer subárvore maior do que 1: 2 2 Sempre que esta condição não for satisfeita, devem ocorrer rotações na árvore, até que ela esteja balanceada, ou seja, com qualquer subárvore
62 Alguma diferença > 1? A Nível 0 Nó A: Dif = -2 B C Nível 1 Nó B: Dif = -1 Nó C: Dif = 0 D E Nível 2 Nó D: Dif = 0 Nó E: Dif = 0 H I Nível 3 Nó H: Dif = 0 Nó I: Dif = 0
63 Árvores AVL Rotações: Diferença Diferença do filho Tipo de Rotação 1 Simples: à esquerda 2 0 Simples: à esquerda -1 Dupla: filho para a direita e pai para a esquerda 1 Dupla: filho para a esquerda e pai para a direita -2 0 Simples: à direita -1 Simples: à direita
64 Diferença do Filho Maior A Nível 0 Nó A: Dif = -2 B C Nível 1 Nó B: Dif = -1 Nó C: Dif = 0 D E Nível 2 Nó D: Dif = 0 Nó E: Dif = 0 H I Nível 3 Nó H: Dif = 0 Nó I: Dif = 0
65 Árvores AVL Rotações: Diferença Diferença do filho Tipo de Rotação 1 Simples: à esquerda 2 0 Simples: à esquerda -1 Dupla: filho para a direita e pai para a esquerda 1 Dupla: filho para a esquerda e pai para a direita -2 0 Simples: à direita -1 Simples: à direita
66 Rotação à Direita A B C D E H I
67 Rotação à Direita A B C D E H I
68 Rotação à Direita B A D C H I E
69 Rotação à Direita B D A H I E C
70 Rotação à Direita B D A H I E C
71 Rotação à Direita B D A H I E C
72 Árvore Binária AVL: Nível 2 e Ordem 2 B Nível 0 Nó B: Dif = 0 D Ordem H I E A C Nível Nível 1 Nó D: Dif = 0 Nó A: Dif = 0 Nível 2 Nó H: Dif = 0 Nó I: Dif = 0 Nó E: Dif = 0 Nó C: Dif = 0 Nível 3
73 Árvores AVL ROTAÇÕES
74 Rotação Simples à Esquerda private boolean RotacaoEsquerda(Nodo centro) { if (centro == null) return false; Nodo aux = centro.direita; if (aux == null) return false; //Atualizar a raiz? if (centro == raiz) raiz = aux; //Troca os pais aux.pai = centro.pai; centro.pai = aux; if (aux.pai!= null) { Nodo pai = aux.pai; if (pai.esquerda == centro) pai.esquerda = aux; else pai.direita = aux; } //Troca os filhos Nodo troca = aux.esquerda; aux.esquerda = centro; centro.direita = troca; return true; }
75 Rotação Simples à Direita private boolean RotacaoDireita(Nodo centro) { if (centro == null) return false; Nodo aux = centro.esquerda; if (aux == null) return false; //Atualizar a raiz? if (centro == raiz) raiz = aux; //Troca os pais aux.pai = centro.pai; centro.pai = aux; if (aux.pai!= null) { Nodo pai = aux.pai; if (pai.esquerda == centro) pai.esquerda = aux; else pai.direita = aux; } //Troca os filhos Nodo troca = aux.direita; aux.direita = centro; centro.esquerda = troca; return true; }
76 Rotação Dupla à Esquerda private boolean RotacaoDuplaEsquerda(Nodo centro) { if (centro == null) return false; Nodo aux = centro.direita; if (aux == null) return false; boolean retorno = RotacaoDireita(aux); if (retorno == false) return false; return RotacaoEsquerda(centro); }
77 Rotação Dupla à Direita private boolean RotacaoDuplaDireita(Nodo centro) { if (centro == null) return false; Nodo aux = centro.esquerda; if (aux == null) return false; boolean retorno = RotacaoEsquerda(aux); if (retorno == false) return false; return RotacaoDireita(centro); }
78 Árvores AVL OUTRAS ALTERAÇÕES
79 Alterações Classe Nodo Novos atributos: public int AltEsq; public int AltDir; public int Dif; Construtor: this.dif = 0; this.altdir = 0; this.altesq = 0;
80 AlturaSubArvore Calculo Dif public int AlturaSubArvore(Nodo atual) { if (raiz == null) return 0; if (atual == null) atual = raiz; if (atual.esquerda == null) atual.altesq = 0; else atual.altesq = AlturaSubArvore(atual.Esquerda) + 1; if (atual.direita == null) atual.altdir = 0; else atual.altdir = AlturaSubArvore(atual.Direita) + 1; atual.dif = atual.altdir - atual.altesq; if (atual.altdir > atual.altesq) return atual.altdir; else return atual.altesq; }
81 Balanceamento da Árvore (1/2) public void BalancearArvore(Nodo atual) { if (raiz == null) return; if (atual == null) atual = raiz; if (atual.dif > 1) { if (atual.direita.dif == -1) RotacaoDuplaEsquerda(atual); else RotacaoEsquerda(atual); return; }
82 Balanceamento da Árvore (2/2) if (atual.dif < -1) { if (atual.esquerda.dif == 1) RotacaoDuplaDireita(atual); else RotacaoDireita(atual); return; } if (atual.esquerda!= null) BalancearArvore(atual.Esquerda); if (atual.direita!= null) BalancearArvore(atual.Direita); }
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 luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 - Árvores, Árvores Binárias e Árvores Binárias de Busca
Leia maisIntrodução a árvores AVL. Prof. Ernesto Lindstaedt
Introdução a árvores AVL Prof. Ernesto Lindstaedt Definição O nome AVL vem dos seus criadores Adelson Velsky e Landis (1962); Uma ABP T é denominada AVL se: Para todos nós de T,, as alturas de suas duas
Leia maisAlgoritmos e Estrutura de Dados. Aula 17 Estrutura de Dados: Árvores AVL Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 17 Estrutura de Dados: Árvores AVL Prof. Tiago A. E. Ferreira Introdução O nome AVL vem de seus criadores Adelson Velskye Landis, cuja primeira referência encontra-se
Leia maisÁ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
Leia maisÁ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
Leia maisÁ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
Leia maisÁ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
Leia maisÁ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
Leia maisÁ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
Leia maisÁ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:
Leia maisAlgoritmos 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
Leia maisPROGRAMAÇÃO III (LTSI)
ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2009/2010 Árvores Binárias AVL Tal como visto anteriormente, caso
Leia maisÁ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ó
Leia maisEAD ARVORE BINÁRIA - ARMAZENAMENTO NÃO SEQUENCIAL COM VETORES
EAD ARVORE BINÁRIA - ARMAZENAMENTO NÃO SEQUENCIAL COM VETORES Árvores Binárias de Pesquisa (ABP) - Definição Árvore binária em que os elementos dos seus nodos têm associado uma chave, que - determina a
Leia maisEAD ARVORE BINÁRIA - ARMAZENAMENTO NÃO SEQUENCIAL COM VETORES
EAD ARVORE BINÁRIA - ARMAZENAMENTO NÃO SEQUENCIAL COM VETORES Estrutura de dados: - Arvore é um vetor em que cada componente (nodo) é composto por 3 campos: - Elemento (informação a tratar), que pode ser
Leia maisÁ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
Leia maisListas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
Leia maisÁ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;
Leia maisÁ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
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisÁrvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura
Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes
Leia maisAula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
Leia maisGGI026 - Á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
Leia maisDAINF - 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.
Leia maisÁ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
Leia maisFabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma
Leia mais{ = == NULL) = == NULL)
Com base no que foi discutido codifique uma função, na linguagem C, que implemente a remoção por cópia. void remocaoporcopia(arvorebinenc arvore) { ArvoreBinEnc prev, tmp = arvore; if (arvore->filhodir
Leia maisBusca. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Busca Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Outubro de 2011 Tópicos Introdução e Objetivo. Busca Sequencial. Busca Binária. Árvore Binária de Busca. Busca Tópicos Faculdade de
Leia maisIntrodução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01
Leia maisUNILASALLE 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
Leia maisÁ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
Leia maisLinguagem C: Árvores AVL
Instituto de C Linguagem C: Árvores AVL Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Árvores Balanceadas As árvores binárias de pesquisa são,
Leia maisÁ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
Leia maisESTRUTURA 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
Leia maisÁrvores Vermelho-Preto
Árvores Vermelho-Preto SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC)
Leia maisExercí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.
Leia maisSplaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza
Splaying Tree (Árvore espalhada) Estrutura de Dados II Jairo Francisco de Souza Introdução Inventada por Adelson Velskii e Landis - 1962. Também chamada de Árvores Auto-Ajustadas ou Árvore de Afunilamento.
Leia maisÁrvores AVL IAED, 2014/2015
Árvores AVL IAED, 24/25 Resumo da aula de hoje Recapitular algumas ideias da última aula Pesquisa, inserção, remoção & travessias em árvores binárias de pesquisa. Árvores binárias equilibradas Exemplo:
Leia maisSUMÁ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
Leia maisÁ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,
Leia maisEstruturas de Dados Encadeadas
CURSO: Ciência da Computação DATA: / / 2016 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 14 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir conceitos
Leia maisÁrvores Rubro-Negra IFRN
Árvores Rubro-Negra IFRN Árvores Rubro-Negra Seja T uma árvore binária de pesquisa Cada nó deve estar associado a uma cor rubro ou negra Uma árvore é rubro-negra quando as seguintes condições são satisfeitas:
Leia maisEstruturas 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
Leia maisÁ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
Leia mais8. ÁRVORES ÁRVORES Niv 1 Niv 2 Niv 3 Niv 4. Até Introdução
8. ÁRVORES Até... 8.1 Introdução ÁRVORES Formas de Armazenamento: Árvores Estáticas: Type Tipo_Árvore = Array[1..Max] of Tipo_Dado; Por exemplo : árvore de grau 3. P 5 7 9 0 3 8 2 5 2 5 7 9 0 3-1 -1 8
Leia maisÁ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
Leia mais1. 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
Leia maisÁ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).
Leia maisRecursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição
Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade
Leia maisExemplo Árvore Binária
Árvores Rohit Gheyi Para entradas realmente grandes, o acesso linear O(n) de listas é proibi9vo Estrutura de dados não linear, cujas operações tem custos em geral O(log n) 1 2 Exemplo Como seria pesquisar
Leia maisÁrvores binárias de busca
Árvores binárias de busca / Árvores de busca / 1 Árvores binárias de busca, ou binary search trees, BST, são árvores binárias onde, para cada sub-árvore, todos os elementos da sub-árvore da esquerda são
Leia maisÁ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 =,
Leia maisÁrvores Binárias Balanceadas
Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli elisa@fw.uri.br Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos
Leia maisÁ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
Leia maisArvores, Percursos não recursivos, Arvores heterogêneas. Aula 19
Arvores, Percursos não recursivos, Arvores heterogêneas Aula 19 Arvores binárias encadeadas Percorrer uma árvore é uma operação muito comum e seria útil encontrar um método mais eficiente para implementar
Leia maisAula 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
Leia maisAula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler
Aula 7 e 8 Filas e suas Aplicações Prof. Leticia Winkler 1 Definição de Fila (Queue) São estruturas de dados do tipo FIFO (first-in first-out) - o primeiro elemento a ser inserido, será o primeiro a ser
Leia maisListas Encadeadas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Listas Encadeadas Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Fevereiro de 2011 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados
Leia maisEstrutura de Dados. Diego Silveira Costa Nascimento
Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 31 de agosto de 2017 Ementa do Curso 1 Introdução
Leia maisMé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
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CES- Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Árvores CES- Operações sobre uma árvore Estruturas para armazenar árvores Contígua Contígua melhorada Encadeada
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisINF1010 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
Leia maisÁ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:
Leia maisÁrvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO
Métodos de Pesquisa de Dados Árvores M-Vias Encontrar um dado em um conjunto de dados de forma eficiente Baseia-se na noção de uma chave (índice) de pesquisa Aplicação típica: SGBD Busca de dados em disco
Leia maisÁ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
Leia maisÁ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
Leia maisAlgoritmos e Estruturas de Dados 2005/2006
Algoritmos e Estruturas de Dados 2005/2006 Árvore de pesquisa binária árvores podem ser desiquilibradas operações de inserção e eliminação de elementos são de complexidade linear no pior caso, quando árvore
Leia maisAVALIAÇÃO DE CONHECIMENTO ESPECÍFICO
AVALIAÇÃO DE CONHECIMENTO ESPECÍFICO PROGRAMA DE PÓS- GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 01. Toda arvore binária possui as seguintes propriedades: I. Todos os nós de uma sub- árvore direita são maiores
Leia maisÁ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
Leia maisÁ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
Leia maisUnidade: Estruturas de Dados Não Lineares. Unidade I:
Unidade: Estruturas de Dados Não Lineares Unidade I: 0 Unidade: Estruturas de Dados Não Lineares 1 - Recursividade Um algoritmo que para resolver um problema divide-o em subproblemas mais simples, cujas
Leia maisPilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha.
1 Estrutura de Dados II Pilha e Fila Pilha em C Definir o registro que representará cada elemento da pilha. No início a pilha estará vazia, logo o ponteiro topo tem o valor NULL. As operações de inserção
Leia maisEstruturas 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
Leia maisEstruturas 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)
Leia maisGGI026 - Árvore balanceada
GGI06 - Árvore balanceada Marcelo K. Albertini 11 de Setembro de 013 /1 Trabalho 1 implementar programa para resolver o problema entregue programa deve funcionar conforme pedido na descrição 3 fazer apresentação
Leia maisÁ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
Leia maisÁRVORE RUBRO- NEGRA. Prof. André Backes. Também conhecida como árvore vermelhopreto
ÁRVORE RUBRO- NEGR Prof. ndré Backes Árvore rubro-negra 2 Também conhecida como árvore vermelhopreto ou red-black Tipo de árvore binária balanceada Originalmente criada por Rudolf Bayer em 1972 Chamadas
Leia maisAula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária Túlio Toffolo www.decom.ufop.br/toffolo Pesquisa em Memória Primária n Introdução - Conceitos Básicos n Pesquisa Sequencial n Pesquisa Binária n Árvores
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes
Leia maisÁrvores Binárias. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)
Árvores Binárias Algoritmos e Estruturas de Dados 2 201-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Árvores 2 Raíz 3 Folhas 4 Nós Internos 5 Pais e Filhos 6 Descendentes Ancestrais 8 Irmãos 9 Níveis
Leia maisESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS
ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS TEORIA CONJUNTO ORDENADO DE ITENS NO QUAL NOVOS ITENS PODEM SER INSERIDOS E A PARTIR DO QUAL PODEM SER ELIMINADOS ITENS EM UMA
Leia maisTabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I
Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa
Leia maisÁ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
Leia maisÁrvores binárias de pesquisa
Árvores binárias de pesquisa Árvore binária de pesquisa Árvore binária, sem elementos repetidos, que verifica a seguinte propriedade: Para cada nó, todos os valores da sub-árvore esquerda são menores,
Leia maisADT - Á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
Leia maisÁrvores Auto-ajustadas
Árvores Árvores Auto-ajustadas As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. A velocidade das operações de inserção, remoção e busca realizadas sobre as árvores é mais
Leia maisAula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler
Aula 10 Alocação Dinâmica de Memória Listas Encadeadas prof Leticia Winkler 1 Prof. Leticia Winkler 2 Alocação de Memória Reservar na memória (principal), o espaço para guardar a informação através da
Leia maisLista com descritor (continuação)
Lista com descritor (continuação) Rotina para remover o eiro elemento de uma LLSECD: char removeiniciollsecd(tdescritor *l, TInfo val) { p = l->; l->=p->prox; if (l->==1) Rotina para remover o último nó
Leia maisLinguagem 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
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 16 a Aula Árvores equilibradas
Programação Funcional 16 a Aula Árvores equilibradas Pedro Vasconcelos DCC/FCUP 2014 Aula anterior Operações sobre árvores binárias ordenadas: 1 pesquisa; 2 inserção; 3 remoção. Estas operações são mais
Leia maisEstruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro
Estruturas de Dados Filas de Prioridade 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 & Tamassia).
Leia maisÁrvores Equilibradas. Sumário
Árvores Equilibradas Sumário Splay Vermelho Preto AA e BB Multidimensionais quaternárias k d Pesquisa Lexicográfica tries multivia tries binárias PATRICIA Árvores Equilibradas Sumário Árvores AVL Árvores
Leia maisEstruturas de Dados I
Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus
Leia maisOrdenação: Heapsort. Algoritmos e Estruturas de Dados II
Ordenação: Heapsort Algoritmos e Estruturas de Dados II Introdução Possui o mesmo princípio de funcionamento da ordenação por seleção Selecione o menor item do vetor Troque-o pelo item da primeira posição
Leia maisICET 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,
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1I Prof. Osório Listas simplesmente encadeadas Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação II Disciplina:
Leia maisAlgoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Listas Seqüenciais Estática Seqüencial É implementada usando um vetor Deve-se determinar qual a
Leia mais