Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Tree Data Structure - Task Management System

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.

Description

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.


Features

  • 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.

Project Structure

src
├── Interfaces
│   ├── ArbolInterno.java
│   ├── DoblementeEnlazada.java
│   └── TareaInterna.java
│
├── Main
│   └── Main.java
│
├── SubTasks
│   ├── ListaDoble.java
│   └── Tarea.java
│
└── TreeFunction
    ├── Arbol.java
    └── Cola.java

Functionality

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.

Data Structures Implemented

Binary Tree

  • Node insertion
  • Tree traversal
  • Parent-child relationships
  • Hierarchical organization

Doubly Linked List

  • Bidirectional navigation
  • Dynamic insertion
  • Dynamic deletion
  • Sequential traversal

Queue

  • FIFO implementation
  • Tree traversal support

Technologies Used

  • Java
  • Apache Maven
  • Object-Oriented Programming (OOP)
  • Data Structures
  • Eclipse IDE

Requirements

  • Java JDK 8 or later
  • Apache Maven 3.x
  • Eclipse IDE (optional)

Build and Run

Clone the repository:

git clone https://github.com/your-username/Tree-Structure.git

Navigate to the project directory:

cd Tree-Structure

Build the project:

mvn clean install

Run the application using:

Main.java

Learning Objectives

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

Concepts Covered

  • Binary Tree
  • Nodes
  • Tree Traversal
  • Queue (FIFO)
  • Doubly Linked List
  • Encapsulation
  • Interfaces
  • Modular Design
  • Dynamic Memory Management

Future Improvements

  • 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.

Academic Purpose

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.


Author

Samuel

Academic project developed as a practical implementation of tree-based data structures and algorithms in Java.

About

Java implementation of a Binary Tree with doubly linked list support for task management using Object-Oriented Programming and Maven.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors