A Java project that implements a Binary Tree and a Doubly Linked List to manage tasks efficiently. The project demonstrates the manual implementation of fundamental data structures without relying on Java's built-in collection classes.
This project focuses on implementing custom data structures using Object-Oriented Programming principles.
The application combines:
- A Binary Tree for organizing and searching tasks.
- A Doubly Linked List for storing and managing task collections.
- Queue-based traversal support for tree operations.
As a practical example, the system manages tasks containing relevant information and performs operations such as insertion, traversal, and visualization.
- Custom Binary Tree implementation.
- Custom Doubly Linked List implementation.
- Queue implementation for tree traversal.
- Task management example.
- Modular project architecture.
- Object-Oriented Programming (OOP).
- Maven-based project structure.
- No dependency on Java's built-in tree or list collections.
src
├── Interfaces
│ ├── ArbolInterno.java
│ ├── DoblementeEnlazada.java
│ └── TareaInterna.java
│
├── Main
│ └── Main.java
│
├── SubTasks
│ ├── ListaDoble.java
│ └── Tarea.java
│
└── TreeFunction
├── Arbol.java
└── Cola.java
The project includes support for:
- Creating a Binary Tree.
- Inserting nodes.
- Traversing the tree.
- Queue-based tree processing.
- Managing tasks.
- Storing tasks in a Doubly Linked List.
- Displaying stored information.
- Custom node management.
- Node insertion
- Tree traversal
- Parent-child relationships
- Hierarchical organization
- Bidirectional navigation
- Dynamic insertion
- Dynamic deletion
- Sequential traversal
- FIFO implementation
- Tree traversal support
- Java
- Apache Maven
- Object-Oriented Programming (OOP)
- Data Structures
- Eclipse IDE
- Java JDK 8 or later
- Apache Maven 3.x
- Eclipse IDE (optional)
Clone the repository:
git clone https://github.com/your-username/Tree-Structure.gitNavigate to the project directory:
cd Tree-StructureBuild the project:
mvn clean installRun the application using:
Main.java
This repository was developed to strengthen knowledge of:
- Binary Trees
- Doubly Linked Lists
- Queues
- Node-based data structures
- Object-Oriented Programming
- Algorithm implementation
- Software modularization
- Binary Tree
- Nodes
- Tree Traversal
- Queue (FIFO)
- Doubly Linked List
- Encapsulation
- Interfaces
- Modular Design
- Dynamic Memory Management
- Binary Search Tree (BST) implementation.
- AVL Tree balancing.
- Red-Black Tree implementation.
- Graphical visualization of the tree.
- Search and deletion operations.
- Tree balancing algorithms.
- Unit testing with JUnit.
- Performance benchmarking.
This project was developed for educational purposes to understand the implementation of tree-based data structures and related algorithms. It reinforces fundamental concepts in data structures, Object-Oriented Programming, and software engineering through manual implementations of Binary Trees, Doubly Linked Lists, and Queues.
Samuel
Academic project developed as a practical implementation of tree-based data structures and algorithms in Java.