Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/jeninsutradhar/java-datastructures-algorithms
- Owner: JeninSutradhar
- License: mit
- Created: 2024-04-09T15:55:07.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T14:23:13.000Z (9 months ago)
- Last Synced: 2024-04-14T04:42:46.583Z (9 months ago)
- Topics: algorithms, algorithms-and-data-structures, data-structures, java, jdk21
- Language: Java
- Homepage:
- Size: 173 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
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)
## Contents1. [Introduction](#introduction)
2. [Data Structures](#data-structures)
3. [Algorithms](#algorithms)
4. [Contributing](#contributing)
5. [License](#license)
6. [Project Structure](#project-structure)
## IntroductionUnderstanding 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.