Skip to content

A collection of DSA tasks done in any of the mentioned language. Contribute your own unique code in your preferred language!

License

Notifications You must be signed in to change notification settings

noodles-sed/Simple-DSA

🚀 Simple DSA - Hacktoberfest 2025

Hacktoberfest 2025 Contributions Welcome License: MIT PRs Welcome First Timers Friendly GitHub Stars GitHub Forks

A beginner-friendly collection of Data Structures and Algorithms problems

Perfect for first-time contributors and Hacktoberfest 2025 participants

Getting StartedContributingGuidelinesCode of ConductLicense


📖 About

Simple DSA is an open-source repository designed to help developers master fundamental programming concepts through hands-on practice. This project welcomes contributions in any programming language and provides a structured pathway for learning Data Structures and Algorithms.

🎯 Project Vision

  • 📚 Build a comprehensive, multi-language DSA problem collection
  • 🌍 Foster an inclusive learning community for developers of all levels
  • 🤝 Provide meaningful contribution opportunities for Hacktoberfest
  • 🎓 Bridge the gap between theory and practical implementation
  • 🏆 Maintain high code quality standards and best practices

✨ Why This Repository?


Multi-Language
Solve in your preferred language

Educational
Learn by doing

Community Driven
Collaborate and grow

Recognition
Get credited for contributions

📊 Project Statistics

📈 Metric 🔢 Count
Total Problems 200+
Categories 10+
Supported Languages Any
Contributors See contributors.json

🗂️ Problem Categories

Our problems are organized into comprehensive categories covering all major DSA topics: [PROBLEM_LIST.md]

📁 Categories
│
├── 🟢 Basic Programming & Arithmetic
│   └── Fundamental operations and syntax
│
├── 🟡 Control Flow & Decision Making
│   └── Conditionals and logical operations
│
├── 🟠 Loops, Functions & Recursion
│   └── Iteration, function design, and recursive thinking
│
├── 🔵 Arrays & Matrices
│   └── Array manipulation and matrix operations
│
├── 🟣 Strings & Pattern Matching
│   └── String processing and algorithms
│
├── 🔴 Searching & Sorting
│   └── Classic search and sort algorithms
│
├── 🟤 Linked Lists
│   └── Single, double, and circular linked lists
│
├── ⚫ Trees & Graphs
│   └── Binary trees, BST, graphs, and traversals
│
├── 🟥 Dynamic Programming
│   └── Memoization and tabulation techniques
│
└── 🟦 Advanced Data Structures
    └── Heaps, tries, segment trees, and more

📝 Note: Complete problem descriptions with LeetCode integration are available in PROBLEM_LIST.md


🚀 Getting Started

Quick Setup

# 1. Fork and star this repository ⭐

# 2. Clone your fork
git clone https://github.com/noodles-sed/Simple-DSA.git

# 3. Navigate to the directory
cd Simple-DSA

# 4. Check available problems
# Browse PROBLEM_LIST.md to select a problem

# 5. Create an issue for the problem you want to solve
# Wait for assignment before starting work

📋 Prerequisites

  • Git installed (Download)
  • GitHub account (Sign up)
  • Code editor (VS Code, IntelliJ, etc.)
  • Language compiler/interpreter
  • [Optional] Hacktoberfest registration (Register)

💻 How to Contribute

Contribution Workflow

graph LR
    A[Browse PROBLEM_LIST.md] --> B[Create Issue]
    B --> C[Wait for Assignment]
    C --> D[Create Branch]
    D --> E[Write Solution]
    E --> F[Test Code]
    F --> G[Update contributors.json]
    G --> H[Commit Changes]
    H --> I[Push to Fork]
    I --> J[Create Pull Request]
    J --> K[Code Review]
    K --> L[Merge]
Loading

Step-by-Step Guide

click on following steps

1️⃣ Browse Available Problems
  • Check PROBLEM_LIST.md for the complete problem catalog
  • Problems are organized by difficulty and topic
  • Each problem includes description, constraints, and examples
  • LeetCode problems are linked for reference
2️⃣ Create an Issue

⚠️ IMPORTANT: You must create an issue and wait for assignment before starting work!

  • Go to the Issues tab
  • Click "New Issue" and select "Solution Submission"
  • Fill in the template:
    Problem: Q[number] - [Problem Name]
    Language: [Your chosen language]
    Description: Brief description of your approach
    
  • Wait for a maintainer to assign the issue to you
  • Do not start coding until assigned!
3️⃣ Set Up Your Development Environment

Only after assignment:

# Create and switch to a new branch
git checkout -b add-solution-q15-python

# Ensure you're on the latest version
git pull origin main
4️⃣ Write Your Solution
  • Follow the file structure guidelines
  • Use proper naming conventions: q[number]_description.ext
  • Add meaningful comments explaining your approach
  • Include time and space complexity analysis

Example Structure:

Language/
└── q15_leap_year.py
5️⃣ Update contributors.json

Add your information to the contributors.json file:

{
  "name": "Your Name",
  "github": "your-username",
  "contributions": ["Q15 - Python"],
  "profile_url": "https://github.com/your-username"
}
6️⃣ Commit and Push
# Stage your changes
git add .

# Commit with a meaningful message
git commit -m "feat: Add solution for Q15 in Python"

# Push to your fork
git push origin add-solution-q15-python
7️⃣ Create a Pull Request
  • Go to your fork on GitHub
  • Click "Compare & pull request"
  • Fill out the PR template completely
  • Link the issue you created using "Closes #issue-number"
  • Wait for review and feedback

💡 Pro Tip: Read our CONTRIBUTING.md for detailed guidelines!


📜 Contribution Guidelines

✅ We Accept

  • ✔️ Solutions for assigned issues only
  • ✔️ Well-tested, working solutions
  • ✔️ Solutions in any programming language
  • ✔️ Clean, documented code with comments
  • ✔️ One solution per pull request
  • ✔️ Meaningful variable and function names

❌ We Reject

  • ✖️ PRs without a linked issue
  • ✖️ Solutions for unassigned problems
  • ✖️ Plagiarized or copied code
  • ✖️ Duplicate solutions in the same language
  • ✖️ Untested or broken code
  • ✖️ PRs without proper documentation
  • ✖️ Spam or low-effort contributions

📏 Code Standards

All contributions must follow our quality standards:

  • Issue Requirement: Must have an assigned issue before PR
  • Code Quality: Clean, readable, and well-structured
  • Documentation: Include comments and complexity analysis
  • Testing: Thoroughly tested with multiple test cases
  • Naming: Follow language-specific conventions
  • Structure: Adhere to repository organization

See CONTRIBUTING.md for complete guidelines.


🏗️ Repository Structure

Simple-DSA/
├── 📄 README.md
├── 📄 PROBLEM_LIST.md
├── 📄 LICENSE
├── 📄 CODE_OF_CONDUCT.md
├── 📄 CONTRIBUTING.md
├── 📄 SECURITY.md
├── 📄 REPOSITORY_STRUCTURE.md
├── 📊 contributors.json
│
├── 📁 .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   ├── feature_request.md
│   │   └── solution_submission.md
│   └── pull_request_template.md
│
├── 📁 C/
├── 📁 C++/
├── 📁 Java/
├── 📁 Python/
├── 📁 JavaScript/
└── 📁 [Your Language]/

See REPOSITORY_STRUCTURE.md for detailed organization.


🤝 Community

Code of Conduct

We are committed to providing a welcoming and inclusive environment. Please read our Code of Conduct before participating.

Getting Help

Recognition

All contributors are recognized in:

  • 📝 contributors.json
  • 🏆 Repository contributors page
  • 🌟 Special mentions for outstanding contributions

📊 Progress Tracking

Check your Hacktoberfest progress:

  • Hacktoberfest Dashboard: hacktoberfest.com/profile
  • Valid Contributions: PRs must be merged or approved
  • Spam Policy: Low-quality PRs will be marked as invalid

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License - Copyright (c) 2025 Simple DSA Contributors

🌟 Star History

Star History Chart


👥 Project Leadership & Architecture


🏗️ Core Project Architect

Ayush Sharma

@ayushHardeniya

Repository Maintener & Curator

LinkedIn GitHub Twitter

📋 View Contributions
📐 Documentation & Design
✅ Complete repository structure & organization
✅ Comprehensive problem catalog (200+ problems)
✅ LeetCode integration & curated sheets mapping
✅ Redesigned README.md with modern layout
✅ Complete PROBLEM_LIST.md documentation
✅ Contribution guidelines & workflow templates
✅ File naming conventions & repository standards
✅ Community management & issue templates
 
💻 Code Contributions
✅ Multiple C++ solutions (1838.cpp, 118.cpp)
✅ Advanced problems (Minimize_the_heights.cpp)
✅ LeetCode problems (119.cpp and many more)
✅ Well-documented code with complexity analysis

👨‍💼 Project Admin

Noodles Sed

@noodles-sed

Repository Maintainer & Admin

GitHub

📋 View Responsibilities
✅ Repository administration & management
✅ Pull request reviews & approvals
✅ Issue triage & assignment
✅ Community moderation & support
✅ Maintaining code quality standards
✅ Project oversight & coordination
✅ Contributor engagement & recognition

🙏 Acknowledgments

Special thanks to:

  • 🎃 Hacktoberfest for promoting open-source contributions
  • 👥 All Contributors for their valuable solutions
  • 🌍 Open Source Community for continuous support
  • 📚 LeetCode for problem inspiration and references
  • 🎯 Striver, NeetCode, and other educators for curated DSA sheets (Available at PROBLEM_LIST.md

🚀 Ready to Contribute?

Fork this Repository | View Problems | Create Issue


Show Your Support

If you find this project helpful, please consider:

Starring this repository | 🍴 Forking for your contributions | 📢 Sharing with others


Project Admin - noodles-sed

This Repository is Documented & Structurized with ❤️ by Ayush Hardeniya

Happy Coding! 💻✨

About

A collection of DSA tasks done in any of the mentioned language. Contribute your own unique code in your preferred language!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 136