Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jeninsutradhar/java-datastructures-algorithms

This repository contains implementations of various data structures and algorithms in different programming languages. It serves as a reference and learning resource for understanding fundamental concepts in computer science.
https://github.com/jeninsutradhar/java-datastructures-algorithms

algorithms algorithms-and-data-structures data-structures java jdk21

Last synced: about 11 hours ago
JSON representation

This repository contains implementations of various data structures and algorithms in different programming languages. It serves as a reference and learning resource for understanding fundamental concepts in computer science.

Awesome Lists containing this project

README

        

# Data Structures and Algorithms

This repository contains implementations of various data structures and algorithms in different programming languages. It serves as a reference and learning resource for understanding fundamental concepts in computer science.

![GitHub repo size](https://img.shields.io/github/repo-size/JeninSutradhar/JAVA-DataStructures-Algorithms)
## Contents

1. [Introduction](#introduction)
2. [Data Structures](#data-structures)
3. [Algorithms](#algorithms)
4. [Contributing](#contributing)
5. [License](#license)
6. [Project Structure](#project-structure)
## Introduction

Understanding data structures and algorithms is essential for every software engineer and computer scientist. This repository aims to provide implementations of commonly used data structures and algorithms in a variety of programming languages, along with explanations and examples.

## Data Structures

The following data structures are implemented in this repository:

- Linked List
- Stack
- Queue
- Binary Tree
- Binary Search Tree
- Graph
- Hash Table
- Heap
- Trees
- ...

Each data structure is organized into its own directory and includes the implementation code, along with explanations and examples of usage.

## Algorithms

The following algorithms are implemented in this repository:

- Sorting Algorithms (Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, etc.)
- Searching Algorithms (Linear Search, Binary Search, Depth-First Search, Breadth-First Search, etc.)
- Dynamic Programming Algorithms
- Graph Algorithms (Dijkstra's Algorithm, Prim's Algorithm, Kruskal's Algorithm, etc.)
- String Algorithms (String Matching, String Parsing, etc.)
- ...

## Project Structure
```bash
.
├── Algorithms
│   ├── Searching
│   │   ├── BinarySearch.java
│   │   ├── BreadthFirstSearch
│   │   │   ├── Graph.java
│   │   │   ├── Main.java
│   │   │   └── Node.java
│   │   ├── DepthFirstSearch
│   │   │   ├── Graph.java
│   │   │   ├── Main.java
│   │   │   └── Node.java
│   │   ├── InterpolationSearch.java
│   │   ├── LinearSearch.java
│   │   └── SimpleBinarySearch.java
│   └── Sorting
│   ├── BubbleSort.java
│   ├── HeapSort.java
│   ├── InsertionSort.java
│   ├── MergeSort.java
│   ├── PigeonholeSort.java
│   ├── QuickSort.java
│   ├── Recursion.java
│   ├── SelectionSort.java
│   └── TournamentSort.java
├── DataStructures
│   ├── DynamicArray.java
│   ├── Graph
│   │   ├── AdjecencyList
│   │   │   ├── Graph.java
│   │   │   ├── Main.java
│   │   │   └── Node.java
│   │   └── AdjecencyMatrix
│   │   ├── Graph.java
│   │   ├── Main.java
│   │   └── Node.java
│   ├── LinkedLists.java
│   ├── PriorityQueues.java
│   ├── Queues.java
│   ├── Stacks.java
│   ├── Trees
│   │   └── BinarySearchTree
│   │   ├── Main.java
│   │   ├── Node.java
│   │   └── binarySearchTree.java
│   └── hashtable.java
├── LICENSE
├── Misc
│   ├── LinkedListMethod2.java
│   ├── LinkedvsArrayList.java
│   ├── PigeonholeSort.java
│   └── TournamentSort.java
├── README.md
├── SECURITY.md
└── TimeComplexity & Big(O)
├── Complexity.java
└── cheatsheet.png
```

## License

This project is licensed under the [MIT License](LICENSE).

## Contributing

Contributions are welcome! If you'd like to contribute to this repository, feel free to submit a pull request with your changes. Please ensure that your code follows the existing style and conventions, and include appropriate documentation and test cases.