Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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.

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]