Thank you for your interest in contributing to the Recursive Sorting Algorithm Visualizer!
Whether you are fixing bugs, improving the visualization, optimizing recursive algorithms, or enhancing the documentation, your contributions are welcome.
You can contribute in many ways, including:
- Fixing bugs
- Improving code quality
- Optimizing recursive implementations
- Adding new recursive sorting algorithms
- Improving the terminal interface
- Enhancing animations
- Improving documentation
- Adding unit tests
- Reporting issues
- Suggesting new features
Before making changes, please:
- Search existing Issues to avoid duplicate work.
- Open an Issue if you plan to introduce a major feature or redesign.
- Keep changes focused on a single purpose whenever possible.
Create your own copy of the repository by clicking Fork.
git clone https://github.com/your-username/recursive-sorting-visualizer.gitcd recursive-sorting-visualizerChoose a descriptive branch name.
git checkout -b feature/your-feature-nameExamples:
feature/heap-improvements
feature/new-algorithm
bugfix/quick-sort
docs/readme-update
Please keep the code:
- Clean
- Readable
- Well documented
- Modular
- Consistent with the existing project structure
The primary goal of this project is demonstrating recursive algorithms.
Whenever possible:
- Prefer recursion over iterative loops.
- Preserve the educational nature of the implementation.
- Clearly document any recursive logic.
Documentation improvements are always appreciated.
Examples include:
- README updates
- Code comments
- Better function documentation
- Examples
- Tutorials
Before submitting your changes:
- Verify the program runs without errors.
- Test every modified algorithm.
- Ensure visualization still functions correctly.
- Confirm benchmark statistics remain accurate.
Write concise and descriptive commit messages.
Examples:
Add recursive Shell Sort implementation
Improve Merge Sort visualization
Fix Quick Sort partition bug
Update README installation guide
Refactor animation rendering
Before submitting a Pull Request, make sure:
- Your code builds successfully.
- You tested your changes.
- Documentation is updated when necessary.
- The Pull Request clearly explains the purpose of the change.
Include:
- Summary of changes
- Reason for the change
- Screenshots or GIFs if the UI or visualization changes
When reporting a bug, please include:
- Operating system
- Python version
- Steps to reproduce
- Expected behavior
- Actual behavior
- Error messages or screenshots, if available
Feature requests are welcome.
Please describe:
- The proposed feature
- Why it would improve the project
- Possible implementation ideas
This project aims to:
- Demonstrate recursive sorting algorithms
- Teach algorithm visualization
- Compare algorithm performance
- Maintain clean, educational Python code
- Remain lightweight and dependency-free
Contributions should support one or more of these goals.
Please be respectful and constructive.
We encourage:
- Friendly discussions
- Helpful feedback
- Respectful collaboration
- Clear communication
Harassment, abusive behavior, or discriminatory language will not be tolerated.
Your time and effort help improve this project for everyone. Every contribution, whether it is code, documentation, bug reports, or ideas, is greatly appreciated.
Happy coding!