Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRenato César Stachinski Alterado mais de 9 anos atrás
1
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Transparências baseadas nos originais da profa. Patrícia Jaques
2
Programação II – Prof. Mateus Raeder São árvores em que os nós podem possuir graus (nro de filhos) diferentes. D EG FHJM KLI chave filhos D E G F H I JM K L Árvores Genéricas (implementação com listas encadeadas)
3
Programação II – Prof. Mateus Raeder // Baseada na Implementacao do Livro de Bruno Preiss public class GeneralTree { // armazena o dado do nó protected Object key; // guarda o grau do nó (nro. de filhos) protected int degree; // lista encadeada onde o campo de dado (data) de cada // elemento referencia um dos filhos protected List list; // lista simplesmente encadeada dada em aula public GeneralTree (Object key) { this.key = key; degree = 0; list = new List (); } public Object getKey () { return key; } Árvores Genéricas (implementação com listas encadeadas)
4
Programação II – Prof. Mateus Raeder /* Recebe um inteiro (cujo valor deve estar entre 0 e degree-1). Retorna a i-ésima sub-árvore da árvore corrente */ public GeneralTree getSubtree (int i) { if (i = degree) throw new IndexOutOfBoundsException (); Node ptr = list.getFirstNode (); for (int j = 0; j < i; ++j) ptr = ptr.getNext (); return (GeneralTree) ptr.getData (); } Árvores Genéricas (implementação com listas encadeadas)
5
Programação II – Prof. Mateus Raeder /* Adiciona uma sub-árvore como filha da árvore corrente */ public void attachSubtree (GeneralTree t) { list.insertAtBack (t); ++degree; } /* Remove a sub-árvore especificada da árvore corrente */ public GeneralTree detachSubtree (GeneralTree t) { list.remove (t); --degree; return t; } Árvores Genéricas (implementação com listas encadeadas)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.