Skip to content

Repository files navigation

JAVA DSA Implementations

Java Learning DSA

This repository is a collection of Java implementations for core data structures, algorithms, and recursion exercises.

Included Implementions :

1 - Algorithms

Sorting algorithm implementations with standalone demo programs.

  • Bubble_Sort.java - bubble sort
  • Insertion_Sort.java - insertion sort
  • Quick_Sort.java - quick sort
  • Selection_Sort.java - selection sort

2 - ArrayOfObjects

Practice code for working with Java objects and a linked-list implementation located under src/LinkedList/.

  • Main.java - IntelliJ starter class
  • src/LinkedList/LinkedList.java - linked list implementation
  • src/LinkedList/Node.java - node definition
  • src/LinkedList/oopLinkedList.java - object-oriented linked list example

3 - ArrayQueueProject

Fixed-size queue implemented with an array.

  • ArrayQueue.java - array-backed queue implementation
  • Main.java - demo entry point

4 - ArrayStackProject

Fixed-size stack implemented with an array.

  • ArrayStack.java - array-backed stack implementation
  • Main.java - demo entry point

5 - BinarySearchTree

Binary search tree implementation with insertion and traversal support.

  • BST.java - tree operations
  • TreeNode.java - node structure
  • Main.java - demo entry point

6 - CustomArrayList

Generic dynamic array implementation.

  • ArrayList.java - custom generic list
  • Main.java - demo entry point
  • test.java - supporting test file

7 - CustomCircularLinkedList

Circular singly linked list implementation.

  • CircularLinkedList.java - list operations
  • CircularNode.java - node structure
  • Main.java - demo entry point

8 - CustomDoublyLinkedList

Doubly linked list implementation with forward and backward links.

  • DoublyLinkedList.java - list operations
  • DoublyNode.java - node structure
  • Main.java - demo entry point

9 - CustomLinkedList

Singly linked list implementation with insertion, deletion, and display operations.

  • LinkedList.java - list operations
  • Node.java - node structure
  • Main.java - demo entry point

10 - LinkedListQueueProject

Queue implemented with linked nodes.

  • Queue.java - queue operations
  • QueueNode.java - node structure
  • Main.java - demo entry point

11 - LinkedListStackProject

Stack implemented with linked nodes.

  • Stack.java - stack operations
  • StackNode.java - node structure
  • Main.java - demo entry point

12 - Recursions

Recursive function examples.

  • Main.java - recursion demos such as sum, factorial, and Fibonacci

Project structure

JAVA-DSA-PROJECTS/
├── Algorithms/
├── ArrayOfObjects/
├── ArrayQueueProject/
├── ArrayStackProject/
├── BinarySearchTree/
├── CustomArrayList/
├── CustomCircularLinkedList/
├── CustomDoublyLinkedList/
├── CustomLinkedList/
├── LinkedListQueueProject/
├── LinkedListStackProject/
└── Recursions/

Each project keeps its code inside src/, and most folders include a Main.java file for quick execution from the IDE.


Contributing

Contributions are welcome. Supported contribution types:

  • Bug fixes
  • New algorithms and data structure implementations
  • Code improvements and refactoring
  • Documentation and examples
  • Additional test cases

To contribute, fork the repository, make your changes on a feature branch, and submit a pull request with a clear description of the changes.

About

A collection of Java implementations for core data structures, algorithms, and recursion exercises.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages