A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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)


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google