Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tauqueeralam42/dsa-java
Explore fundamental Data Structures and Algorithms (DSA) concepts with Java implementations. Includes arrays, linked lists, stacks, queues, trees, graphs, sorting algorithms, dynamic programming, and more.
https://github.com/tauqueeralam42/dsa-java
algorithms data-structures java
Last synced: about 2 months ago
JSON representation
Explore fundamental Data Structures and Algorithms (DSA) concepts with Java implementations. Includes arrays, linked lists, stacks, queues, trees, graphs, sorting algorithms, dynamic programming, and more.
- Host: GitHub
- URL: https://github.com/tauqueeralam42/dsa-java
- Owner: tauqueeralam42
- Created: 2023-06-14T10:35:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-08T11:23:09.000Z (2 months ago)
- Last Synced: 2024-11-08T12:27:07.958Z (2 months ago)
- Topics: algorithms, data-structures, java
- Language: Java
- Homepage:
- Size: 212 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Data Structures and Algorithms
This repository contains Java implementations of various Data Structures and Algorithms (DSA) concepts. Each folder corresponds to a specific DSA topic where you can find code examples and implementations.
## Topics Covered
1. **Arrays**: Basic operations, sorting algorithms, 2D arrays.
2. **ArrayList**: Implementation and operations.
3. **LinkedList**: Singly linked list implementation.
4. **Stack**: Array-based and linked list-based implementations.
5. **Queue**: Array-based and linked list-based implementations.
6. **Binary Tree**: Implementation and traversal algorithms.
7. **Binary Search Tree**: Insertion, deletion, and traversal operations.
8. **Heap**: Max heap and min heap implementations.
9. **Hashing**: Hash table implementation and collision handling.
10. **Tries**: Trie data structure for efficient string operations.
11. **Graph**: Graph representation and traversal algorithms.
12. **Dynamic Programming (DP)**: Solutions to various problems using dynamic programming.
13. **Greedy Algorithm**: Implementations of greedy algorithms.
14. **Sorting Algorithms**: Bubble sort, selection sort, insertion sort, merge sort, quick sort, etc.
15. **String**: String manipulation and algorithms.
16. **Bit Manipulation**: Bitwise operations and algorithms.
17. **Recursion**: Recursive algorithms and problems.
18. **Divide and Conquer**: Divide and conquer algorithms and applications.
19. **Backtracking**: Backtracking algorithms and applications.## Structure
Each topic is organized into its own directory with relevant Java files and sometimes additional resources or READMEs explaining concepts and algorithms.
## Contributing
Contributions to enhance existing implementations, add new algorithms, or improve documentation are welcome! If you'd like to contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes and commit them (`git commit -am 'Add new algorithm'`).
4. Push to the branch (`git push origin feature-branch`).
5. Open a pull request.Please ensure your code follows Java best practices and includes appropriate documentation.
## About
This repository is maintained by [Your Name]. Feel free to reach out with any questions or suggestions.
- GitHub: [tauqueeralam42](https://github.com/tauqueeralam42)
- Email: [email protected]