Skip to content

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.

Notifications You must be signed in to change notification settings

Suniksha12/DSA_Programs

Repository files navigation

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 implementations
  2. Arrays & Strings

    • Array manipulations
    • String algorithms
    • Pattern matching
  3. Bitwise Operations

    • Bit manipulation
    • Optimization techniques
  4. Recursion

    • Basic to advanced recursion
    • Backtracking fundamentals
  5. Searching & Sorting

    • Linear and Binary Search
    • Various sorting algorithms
    • Custom search implementations
  6. Stack & Queue

    • Stack applications
    • Queue variations
    • Priority Queue implementations
  7. Linked List

    • Singly Linked List
    • Doubly Linked List
    • Complex operations
  8. Tree

    • Binary Search Tree
    • Tree traversals
    • Advanced tree operations
  9. Graph

    • Graph representations
    • DFS & BFS
    • Shortest path algorithms
  10. Greedy & Backtracking

    • Optimization problems
    • Decision-making algorithms
  11. Dynamic Programming

    • Classical DP problems
    • Optimization techniques
  12. String & Other Programming

    • Pattern matching
    • String manipulations
  13. Heap & Hashing

    • Heap operations
    • Hash table implementations

🚀 Getting Started

  1. Clone the repository:
git clone https://github.com/Suniksha12/DSA_Programs.git
  1. Navigate to specific topic directory
  2. Each problem contains multiple Java files with different approaches
  3. 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 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!

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages