This repository contains implementations of various data structures and algorithms in Java
This repository serves as a collection of commonly used data structures and algorithms implemented in Java. It's intended for educational purposes and as a reference for those studying computer science, preparing for coding interviews, or simply interested in understanding the fundamentals of algorithms and data structures.
The following data structures are implemented in this repository:
- Linked List: Singly linked list, doubly linked list.
- Stack: Array-based stack, linked list-based stack.
- Queue: Array-based queue, linked list-based queue.
- Binary Tree: Binary search tree, AVL tree.
- Heap: Min-heap, max-heap.
- Hash Table: Separate chaining, open addressing.
Each data structure is implemented with clear comments and explanations to aid understanding.
- 📂 01_Varriable and data type
- 📂 02_Operator
- 📂 03_If else ,loop, pattern
- 📂 04_Fun & methord
- 📂 05_array
- 📂 06_Sorting
- 📂 07_2-D_Array
- 📂 08_String
- 📂 09_Oops
- 📂 10_Array_List
- 📂 11_Recursion
- 📂 12_Divide & Conquer
- 📂 13_Backtracking
- 📂 14_LinkList
- 📂 15_Stack
- 📂 16_Queue
- 📂 17_Greedy
- 📂 18_Hashing
- 📂 19_Tries
- 📂 20_Graph
Contributions to this repository are welcome! If you'd like to contribute an implementation of a data structure or algorithm, please follow these guidelines:
- Fork the repository.
- Create a new branch (
git checkout -b feature/new-data-structure
). - Implement the data structure or algorithm with clear comments and explanations.
- Ensure all existing tests pass and add new tests if necessary.
- Commit your changes (
git commit -am 'Add new data structure'
). - Push to the branch (
git push origin feature/new-data-structure
). - Create a new pull request.
This repository is licensed under the MIT License. See the LICENSE file for details.