This is a comprehensive collection of Data Structures and Algorithms implementations in multiple programming languages, organized specifically for Hacktoberfest 2025 contributions.
This repository serves as:
- Learning Resource: A well-organized collection of algorithms and data structures
- First Contribution Hub: Perfect for newcomers to open source
- Reference Library: Quick access to implementations in multiple languages
- Practice Platform: Solve problems and contribute solutions
🗣 Hacktoberfest encourages participation in the open-source community, which grows bigger every year. Complete the challenge and get a tree planted on your name showing your love towards mother Earth 🌍
📢 Register here for Hacktoberfest and make six pull requests (PRs) between October 1st-31st for exclusive T-shirt + Tree contribution! 🔥🌱
🛠️ Admin
🛠️ Maintainer
Feel free to reach out to any of us for questions, contributions, or support!
The repository follows a simple two-level structure:
DSA-Collection/
├── LanguageName/ # Your chosen programming language
└── TopicName/ # Your chosen topic or category
└── your_solution.ext # Your implementation
For example:
Python/
├── trees/
│ └── binary_tree_traversal.py
├── dp/
│ └── fibonacci.py
└── arrays/
└── sorting.py
Java/
├── LinkedLists/
│ └── ReverseList.java
└── Recursion/
└── Factorial.java
- Language directories: Use any clear, standard name (e.g., Python, CPP, JavaScript, Rust)
- Topic directories: Use descriptive names that reflect the content (e.g., trees, sorting, graphs, strings)
- Feel free to create new topic directories as needed!tructures and Algorithms (DSA) solutions in multiple programming languages.
If you're learning DSA or want to practice contributing to open source, this repo is for you.
We welcome contributions in any programming language! Currently implemented solutions in:
- Python
- C++
- Java
And we're excited to accept solutions in:
- C
- JavaScript/TypeScript
- Go
- Rust
- Kotlin
- Swift
- PHP
- Ruby
- C#
- And more!
- Star this repository (to support the project)
- Fork this repository
- Clone your fork
- Create a new branch
- Add your solution in an appropriate directory structure:
- First level: Programming language (e.g.,
Python/
,Java/
,CPP/
) - Second level: Your chosen topic (e.g.,
trees/
,arrays/
,graphs/
) - Example:
Python/searching/binary_search.py
orJava/Trees/BinarySearch.java
- Feel free to create new directories if needed
- First level: Programming language (e.g.,
- Commit and push
- Open a Pull Request
- File naming:
problem_name.language_extension
- Comment your code clearly
- The problem name must be clearly mentioned in the comments
- Avoid duplicate solutions in the same language
- New solutions for different languages are welcome
If you find this project useful, consider starring the repo to help others discover it.