Welcome to OpenSauce! Your gateway to open-source contributions for Hacktoberfest 2025.
This repository is dedicated to Data Structures and Algorithms (DSA) implementations in multiple programming languages. Whether you're a beginner or an experienced developer, contribute your DSA solutions and be part of the open-source community!
Explore our interactive website to browse through all DSA implementations by programming language, view contributors, and navigate the repository structure with ease!
This repository contains language-specific folders for DSA contributions:
OpenSauce/
├── C/
├── C++/
├── Java/
├── Python/
├── JavaScript/
├── Go/
├── Rust/
├── TypeScript/
├── Kotlin/
├── Swift/
├── Ruby/
├── PHP/
├── Dart/
├── Haskell/
└── Scala/
Each language folder contains its own README with specific guidelines and suggested organization.
- Fork this repository to your GitHub account
- Clone your fork to your local machine
git clone https://github.com/your-username/OpenSauce.git cd OpenSauce - Choose a language folder you want to contribute to
- Create your DSA implementation:
- Follow the naming conventions specified in each language's README
- Organize code by topic (arrays, trees, graphs, sorting, etc.)
- Include comments explaining your algorithm
- Add time and space complexity analysis
- Create a new branch:
git checkout -b add-algorithm-name
- Commit your changes:
git add . git commit -m "Add [algorithm-name] in [language]"
- Push to your fork:
git push origin add-algorithm-name
- Create a Pull Request from your fork to this repository
- ✅ Data structure implementations (arrays, linked lists, trees, graphs, etc.)
- ✅ Algorithm implementations (sorting, searching, dynamic programming, etc.)
- ✅ Well-documented code with complexity analysis
- ✅ Test cases or example usage
- Include clear comments explaining the logic
- Add time and space complexity in comments
- Follow the coding conventions of the language
- Provide example usage or test cases
- Use meaningful variable and function names
- ❌ Duplicate implementations (check existing code first)
- ❌ Poorly documented code
- ❌ Copied code without understanding
- ❌ Unrelated files or spam
Each language folder supports the following topics:
- Arrays - Array manipulation and problems
- Linked Lists - Singly, doubly, circular linked lists
- Stacks - Stack implementations and applications
- Queues - Queue implementations and variations
- Trees - Binary trees, BST, AVL, heaps, tries
- Graphs - Graph representations and algorithms (BFS, DFS, Dijkstra, etc.)
- Sorting - Bubble, merge, quick, heap sort, etc.
- Searching - Binary search, linear search, etc.
- Dynamic Programming - DP problems and solutions
- Greedy Algorithms - Greedy approach problems
- Backtracking - Backtracking problems
- Mathematics - Number theory, GCD, prime numbers, etc.
- Strings - String manipulation and algorithms
This repository is participating in Hacktoberfest 2025!
- Complete 6 quality pull requests during October to earn your Hacktoberfest swag
- Make sure your PRs are meaningful contributions, not spam
- Check out Hacktoberfest Official Website for more details
- Be respectful and inclusive
- Provide constructive feedback
- Help others learn and grow
- No spam or low-quality contributions
- Check the language-specific README in each folder
- Open an issue if you have questions
- Review existing pull requests for examples
- Visit our live website to explore the repository
Thank you to all contributors who help make this project better!
Check out all our amazing contributors on the live project page!
Happy Coding and Happy Hacktoberfest! 🎃👨💻👩💻