Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suniksha12/dsa_programs
This repository is a comprehensive collection of Data Structures and Algorithms (DSA) programs implemented in Java. Each major topic in DSA has its dedicated subfolder, referred to as a ‘set’. Each ‘set’ encapsulates 10-12 specific DSA programs related to the overarching topic.
https://github.com/suniksha12/dsa_programs
algorithms approach data-structures datastructures-algorithms dsa file-upload git github interview-preparation interview-questions java pages problem-solving revision solutions spacecomplexity star timecomplexity
Last synced: 5 days ago
JSON representation
This repository is a comprehensive collection of Data Structures and Algorithms (DSA) programs implemented in Java. Each major topic in DSA has its dedicated subfolder, referred to as a ‘set’. Each ‘set’ encapsulates 10-12 specific DSA programs related to the overarching topic.
- Host: GitHub
- URL: https://github.com/suniksha12/dsa_programs
- Owner: Suniksha12
- Created: 2024-06-04T18:53:01.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-19T05:30:05.000Z (27 days ago)
- Last Synced: 2024-10-19T05:36:19.895Z (27 days ago)
- Topics: algorithms, approach, data-structures, datastructures-algorithms, dsa, file-upload, git, github, interview-preparation, interview-questions, java, pages, problem-solving, revision, solutions, spacecomplexity, star, timecomplexity
- Language: Java
- Homepage: https://github.com/Suniksha12/DSA_Programs/tree/main
- Size: 241 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures and Algorithms in Java 🚀
Welcome to my DSA learning repository! This collection represents months of dedicated work implementing fundamental Data Structures and Algorithms concepts in Java. Whether you're preparing for technical interviews or strengthening your programming foundation, this repository aims to be a comprehensive resource.
## 📚 Repository Structure
This repository is organized into 13 main sections, each containing two sets of problems with different approaches:
```
DSA_Programs/
├── 1_Math_Problems/
├── 2_Arrays&Strings/
├── 3_Bitwise_Operations/
├── 4_Recursion/
├── 5_Searching_&_Sorting/
├── 6_Stack_and_Queue/
├── 7_Linked_List/
├── 8_Tree/
├── 9_Graph/
├── 10_Greedy_and_backtracking/
├── 11_Dynamic_Programming/
├── 12_String&Other_Programming/
└── 13_Heap_&_Hashing/
```## ✨ Key Features
- Clean, well-documented Java implementations
- Multiple approaches to solve each problem
- Time and Space complexity analysis
- Progressive difficulty levels
- Detailed explanations and comments
- Organized by topics and concepts## 🗂️ Topics Covered
1. **Math Problems**
- Basic to advanced mathematical operations
- Number theory implementations2. **Arrays & Strings**
- Array manipulations
- String algorithms
- Pattern matching3. **Bitwise Operations**
- Bit manipulation
- Optimization techniques4. **Recursion**
- Basic to advanced recursion
- Backtracking fundamentals5. **Searching & Sorting**
- Linear and Binary Search
- Various sorting algorithms
- Custom search implementations6. **Stack & Queue**
- Stack applications
- Queue variations
- Priority Queue implementations7. **Linked List**
- Singly Linked List
- Doubly Linked List
- Complex operations8. **Tree**
- Binary Search Tree
- Tree traversals
- Advanced tree operations9. **Graph**
- Graph representations
- DFS & BFS
- Shortest path algorithms10. **Greedy & Backtracking**
- Optimization problems
- Decision-making algorithms11. **Dynamic Programming**
- Classical DP problems
- Optimization techniques12. **String & Other Programming**
- Pattern matching
- String manipulations13. **Heap & Hashing**
- Heap operations
- Hash table implementations## 🚀 Getting Started
1. Clone the repository:
```bash
git clone https://github.com/Suniksha12/DSA_Programs.git
```2. Navigate to specific topic directory
3. Each problem contains multiple Java files with different approaches
4. Read the comments for understanding the approach and complexity## 💡 How to Use
- Start with basic topics if you're a beginner
- Each topic has SET-1 and SET-2 folders for progressive learning
- Read the problem statement in comments
- Understand the approach and complexity analysis
- Try solving before looking at the solution
- Compare your solution with the provided implementations## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## ⭐ Show your support
Give a ⭐️ if this project helped you! Your support means a lot!
## 📝 License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## 📫 Contact
If you have any questions, feel free to reach out or create an issue.
Happy Coding! 👨💻👩💻
---
**Note**: This repository is actively maintained. Feel free to raise issues or suggest improvements!