- What is this repository about?
- Data Structures and Algorithms implemented using Python.
- Why would I use this?
- Learn Python and master DSA. Python is not only a joy to use, it is also the best choice for interviews as you can write code in the fastest way due to the conciseness and intuitiveness of Python.
- The Python philosophy is that there must be one obvious way of doing things and more often than not, what you imagine as the way of doing something is Python, it will exactly be that!
- Learn Python and master DSA. Python is not only a joy to use, it is also the best choice for interviews as you can write code in the fastest way due to the conciseness and intuitiveness of Python.
- How to practice?:
- Clone or fork this repo.
- Go to a problem and read the description
- Delete the solution code.
- Write your own code and run the tests for the problem.
Also, uses:
- uv for dependency management, virtual environments, etc.
- uv GitHub repo: https://github.com/astral-sh/uv
- uv documentation: https://docs.astral.sh/uv/
- Ruff for linting and formatting.
- Ruff GitHub repo: https://github.com/astral-sh/ruff
- Ruff documentation: https://docs.astral.sh/ruff/
- Python Semantic Release for automatic Semantic Versioning of this Python project.
- This project on SonarQube Cloud: https://sonarcloud.io/project/overview?id=aqib-oss_dsa-using-python
Source | Status |
---|---|
GitHub Actions main workflow | |
GitHub Action PR workflow | |
SonarQube Quality Gate status | |
SonarQube Code Coverage |
- How to contribute - setup, PR, etc.
- Committing the
uv.lock
file is recommended to ensure reproducibility of the environment for binaries or applications.- It should NOT be committed for libraries.