Go to file
pre-commit-ci[bot] beb3cfdf28
[pre-commit.ci] pre-commit autoupdate (#12900)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.8 → v0.12.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.8...v0.12.9)
- [github.com/pre-commit/mirrors-mypy: v1.15.0 → v1.17.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.15.0...v1.17.1)

* Apply suggestion from @cclauss

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2025-08-19 14:28:03 +02:00
.devcontainer Fix devcontainer build failure (#12837) 2025-07-09 14:25:18 +02:00
.github Bump actions/checkout from 4 to 5 (#12891) 2025-08-12 09:30:10 +02:00
.vscode Create a Simultaneous Equation Solver Algorithm (#8773) 2023-06-02 07:14:25 +02:00
audio_filters Fix sphinx/build_docs warnings for audio_filters (#12449) 2024-12-22 22:55:22 -05:00
backtracking Add tests and cleanup sum_of_subsets algorithm (#12746) 2025-05-23 00:07:43 +03:00
bit_manipulation Add find_unique_number algorithm to bit manipulation (#12654) 2025-04-14 21:01:29 +03:00
blockchain Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
boolean_algebra Add N Input AND Gate (#12717) 2025-05-10 14:47:22 +03:00
cellular_automata Fix sphinx/build_docs warnings for cellular_automata (#12454) 2024-12-23 06:56:42 -05:00
ciphers hill_cipher.py: Use `int()` to gracefully deal with float input (#12833) 2025-07-07 13:58:59 +05:30
computer_vision [pre-commit.ci] pre-commit autoupdate -- ruff 2025 stable format (#12521) 2025-01-13 21:52:12 +01:00
conversions [pre-commit.ci] pre-commit autoupdate (#12623) 2025-03-18 09:53:49 +01:00
data_compression Prep for Python 3.14: Rename compression to data_compression (#12725) 2025-05-12 12:59:19 +03:00
data_structures Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
digital_image_processing Enable ruff RUF002 rule (#11377) 2024-04-22 21:51:47 +02:00
divide_and_conquer Improve power.py (#12567) 2025-02-09 20:51:18 +03:00
docs [pre-commit.ci] pre-commit autoupdate (#12398) 2024-11-25 21:46:20 +01:00
dynamic_programming Update matrix_chain_order calculation with more details and test. (#12759) 2025-05-23 00:17:48 +03:00
electronics Tests electronics/electric_conductivity.py #9943 (#12437) 2024-12-30 13:36:55 +01:00
file_transfer Update receive_file.py (#8541) 2023-03-31 16:08:13 +02:00
financial feat: create straight_line_depreciation (#12377) 2025-05-31 17:11:46 -04:00
fractals Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
fuzzy_logic balance parenthesis (add closing bracket) (#11563) 2024-09-24 00:30:36 -07:00
genetic_algorithm Genetic Algorithm: Fix bug in multi-threading (#12644) 2025-03-29 11:13:47 +03:00
geodesy Fix sphinx/build_docs warnings for geodesy (#12462) 2024-12-23 07:43:16 -05:00
geometry Implemented doctests for geometry-related classes (#12368) 2024-12-30 07:04:28 -08:00
graphics [pre-commit.ci] pre-commit autoupdate (#12623) 2025-03-18 09:53:49 +01:00
graphs Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
greedy_methods Fix sphinx/build_docs warnings for greedy_methods (#12463) 2024-12-23 08:11:58 -05:00
hashes [pre-commit.ci] pre-commit autoupdate (#12623) 2025-03-18 09:53:49 +01:00
knapsack [pre-commit.ci] pre-commit autoupdate (#11322) 2024-03-13 07:52:41 +01:00
linear_algebra Add matrix inversion algorithm using NumPy (#12657) 2025-04-14 21:57:13 +03:00
linear_programming Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
machine_learning Lukazlim: Replace dependency `requests` with `httpx` (#12744) 2025-05-14 04:42:11 +03:00
maths Add unit tests for factorial.py (#12815) 2025-07-05 12:58:45 +02:00
matrix Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
networking_flow [pre-commit.ci] pre-commit autoupdate (#11322) 2024-03-13 07:52:41 +01:00
neural_network [pre-commit.ci] pre-commit autoupdate -- ruff 2025 stable format (#12521) 2025-01-13 21:52:12 +01:00
other Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
physics Lukazlim: Replace dependency `requests` with `httpx` (#12744) 2025-05-14 04:42:11 +03:00
project_euler Add solution for the Euler project problem 95. (#12669) 2025-05-10 14:13:07 +03:00
quantum Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
scheduling Fix ruff (#11527) 2024-08-25 17:33:11 +02:00
scripts Lukazlim: Replace dependency `requests` with `httpx` (#12744) 2025-05-14 04:42:11 +03:00
searches Add median() function using Quickselect (#12676) 2025-05-21 21:33:29 +03:00
sorts Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
strings Add doctests for the boyer_moore_search algorithm. (#12769) 2025-06-02 20:32:47 +03:00
web_programming Update .pre-commit-config.yaml to reflect current linting and formatt… (#12841) 2025-07-11 22:25:53 +02:00
.gitattributes Create .gitattributes for Cross OS compatibility (#3410) 2020-10-17 07:25:25 +02:00
.gitignore chore: update .gitignore (#6263) 2022-07-23 07:56:59 +05:30
.gitpod.yml Change gitpod configuration for python3. (#1827) 2020-04-07 12:20:08 +02:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate (#12900) 2025-08-19 14:28:03 +02:00
CONTRIBUTING.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
DIRECTORY.md Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
LICENSE.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
README.md chore: use newest Discord invite link (#8696) 2023-07-30 18:15:30 -07:00
index.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
pyproject.toml Various ruff fixes (#12821) 2025-07-06 01:35:29 +03:00
requirements.txt Lukazlim: Replace dependency `requests` with `httpx` (#12744) 2025-05-14 04:42:11 +03:00
uv.lock Lukazlim: Replace dependency `requests` with `httpx` (#12744) 2025-05-14 04:42:11 +03:00

README.md

The Algorithms - Python

Gitpod Ready-to-Code Contributions Welcome Discord chat Gitter chat
GitHub Workflow Status pre-commit code style: black

All algorithms implemented in Python - for education

Implementations are for learning purposes only. They may be less efficient than the implementations in the Python standard library. Use them at your discretion.

Getting Started

Read through our Contribution Guidelines before you contribute.

Community Channels

We are on Discord and Gitter! Community channels are a great way for you to ask questions and get help. Please join us!

List of Algorithms

See our directory for easier navigation and a better overview of the project.