Skip to content

Vasudevshetty/javaDSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Data Structures Package 🚀

Welcome to my Java Data Structures Package! This package provides a collection of essential data structures and utility classes for common operations.

All the classes have generic support, proper Exception handling with good javaDoc, comments and readability.

Table of Contents

  1. Array

  2. Linked List

  3. Queue

  4. Stack

  5. Trees

    📦 Data Structures

    1. Queue

    • Description: Implementation of a generic queue with common operations.
    • Features: Enqueue, dequeue, front, rear, and more.
    • Usage: Queue<Integer> queue = new Queue<>();
    • Types: Dequeue<String> or CircularQueue<Integer>

    2. Stack

    • Description: A stack implementation supporting push, pop, peek, and more.
    • Features: Dynamic resizing, generic support.
    • Usage: Stack<String> stack = new Stack<>();
    • Types: StackLL<String> or StackArray<Integer>

    3. Linked List

    • Description: Generic linked list with insert, delete, reverse, copy and search functionalities.
    • Features: Singly, double and circualr linked list.
    • Usage: LinkedList<Double> list = new LinkedList<>();
    • Types: SingleLinkedList<String> or SingleCircularLinkedList<Integer> or replace(Single, Double).

    4. Notation Converter Utility

    • Description: Utility class for converting infix, postfix, and prefix notations.
    • Features: Supports various types of expressions.
    • Path: javaDSA\dsa\stack\NotationConverter
    • Usage: NotationConverter.postfix(Expression, ExpressionType(enum - prefix, postfix or infix));
    • Types: postfix(expression, infix/prefix) or prefix(expression, infix/postfix) or infix(expression, prefix/postfix)

    5. Binary Trees

    • Description The binaryTrees sub-repository contains the implementation of generic binary trees with various functionalities.

    • Features : Basic binary tree structure with a TreeNode class. Generic BinaryTree class supporting common tree operations. Designed for flexibility and easy extension.

    • Usage Example

    BinaryTree<Integer> tree = new BinaryTree<>();
    TreeNode<Integer> root = new TreeNode<>(5);
    tree.setRoot(root);
    // Perform tree operations...

    6. Expression Tree

    • Description The ExpressionTree class in the applications sub-repository serves as a utility for constructing and manipulating expression trees.

    • Features :

      • ExpressionTree extends BinaryTree<Character> to represent expression trees.
      • Construction from postfix expressions: ExpressionTree(String postfixExpression).
    • Usage Example

    ExpressionTree expressionTree = new ExpressionTree("ab+");
    // Perform expression tree operations...

    🚀 Getting Started

    1. Clone the repository: git clone https://github.com/Vasudevshetty/javaDSA.git
    2. Include the JAR file in your Java project.
    3. Explore and integrate the data structures into your application.

    🌟 Contribution

    Feel free to contribute to this project by submitting bug reports, feature requests, or pull requests. If you like this please put up a star and motivate me. 😍

    Happy coding! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages