Git Product home page Git Product logo

javadsa's Introduction

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! ๐Ÿš€

javadsa's People

Contributors

vasudevshetty avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.