Skip to content

murillohwg/Java-Tree-Structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Estrutura de Dados de Árvore em Java

Este projeto é uma implementação simples de uma estrutura de dados de árvore genérica em Java. A representação utilizada é a de "primeiro filho, próximo irmão" (first-child, next-sibling), uma técnica eficiente para armazenar árvores com um número variável de filhos por nó.

🌳 Estrutura da Árvore

O código no arquivo TestaTree.java monta manualmente a seguinte estrutura de árvore:

Jaspion (A1)
├── Debora (A2)
│   ├── Gustavo (A5)
│   │   └── Cadu (A9)
│   └── Giovanni (A6)
│       └── Artur (A10)
├── Vitoria (A3)
│   ├── Murillo (A7)
│   └── Lucas (A8)
│       ├── Luiz (A11)
│       └── Alisson (A12)
└── Ana (A4)
    └── Eduardo (A13)

🛠️ Como Funciona a Estrutura

A árvore é construída com base em três classes:

  • Node_Tree.java: Representa um nó da árvore. Cada nó contém:
    • item: O valor/dado do nó (uma String).
    • parent: Uma referência para o nó pai.
    • firstChild: Uma referência para o seu primeiro filho.
    • next: Uma referência para o seu próximo irmão (o próximo filho do mesmo pai).
  • Tree.java: Representa a árvore como um todo, contendo uma referência para o nó raiz (root).
  • TestaTree.java: A classe principal (main) que instancia os nós, conecta-os para formar a árvore e executa um teste simples.

🚀 Como Executar

  1. Certifique-se de ter o JDK (Java Development Kit) instalado.
  2. Coloque todos os arquivos (Node_Tree.java, Tree.java, TestaTree.java) na mesma pasta.
  3. Abra um terminal ou prompt de comando nessa pasta.
  4. Compile os arquivos Java:
    javac *.java
  5. Execute a classe principal:
    java uscs.TestaTree

A saída esperada no console será o nome do nó raiz da árvore.

💡 Pontos de Melhoria

  • Métodos de Manipulação: Implementar métodos para adicionar e remover nós de forma dinâmica.
  • Algoritmos de Percurso: Adicionar métodos para percorrer a árvore (ex: pré-ordem, pós-ordem, em ordem).
  • Busca: Criar uma função para buscar um item específico na árvore.
  • Generalização: Usar Generics (<T>) em vez de String para que a árvore possa armazenar qualquer tipo de dado.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages