All Algorithms implemented in Python the-algorithms.com/
Go to file
hollowcrust 3d6f3c4188
Added data_structures/arrays/sparse_table.py (#10437)
* Create sparse_table.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Descriptive names for variables

* Fix ruff check error

* Update sparse_table.py

* Add comments, change variable names

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix typo

* Update sparse_table.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2023-10-15 22:13:27 +02:00
.devcontainer Upgrade our Devcontainer to Python 3.12 on Debian bookworm (#9580) 2023-10-03 23:04:59 +13:00
.github Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
.vscode Create a Simultaneous Equation Solver Algorithm (#8773) 2023-06-02 07:14:25 +02:00
arithmetic_analysis Gaussian_elemination - change to remove warning (#10221) 2023-10-10 10:24:51 -04:00
audio_filters Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
backtracking Updated test cases of power_sum.py (#9978) 2023-10-14 04:31:43 -04:00
bit_manipulation fix: incorrect range detection in find_missing_number (#10361) 2023-10-15 00:45:44 -04:00
blockchain Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
boolean_algebra Added nimply gate to boolean_algebra (#10344) 2023-10-13 00:29:39 -04:00
cellular_automata Fix typos (#9076) 2023-09-23 10:53:09 +02:00
ciphers Fix typo in filename: ciphers/trifid_cipher.py (#10516) 2023-10-15 10:57:08 -04:00
compression Fix typos (#9076) 2023-09-23 10:53:09 +02:00
computer_vision [pre-commit.ci] pre-commit autoupdate (#9543) 2023-10-07 21:32:28 +02:00
conversions Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
data_structures Added data_structures/arrays/sparse_table.py (#10437) 2023-10-15 22:13:27 +02:00
digital_image_processing Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
divide_and_conquer Mention square matrices in strassen docs and make it more clear (#9839) 2023-10-07 05:35:23 -04:00
dynamic_programming Changes the code To return the list in dynamic_programming/subset_generation.py (#10191) 2023-10-15 21:56:02 +02:00
electronics Added 555 timer duty cycle and freqency in astable mode. (#10456) 2023-10-15 17:35:02 +02:00
file_transfer Update receive_file.py (#8541) 2023-03-31 16:08:13 +02:00
financial Adds exponential moving average algorithm (#10273) 2023-10-12 15:54:07 +02:00
fractals Window closing fix (#8625) 2023-07-31 20:02:49 -07:00
fuzzy_logic Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
genetic_algorithm Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
geodesy pre-commit: Upgrade psf/black for stable style 2023 (#8110) 2023-02-01 18:44:54 +05:30
graphics Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
graphs Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
greedy_methods add : Best time to buy and sell stock program under GREEDY methods (#10114) 2023-10-08 19:07:02 +02:00
hashes Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
knapsack Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
linear_algebra Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
linear_programming Fix simplex.py (#8843) 2023-08-17 14:34:53 -07:00
machine_learning Remove doctest in xgboost_regressor.py main function (#10422) 2023-10-14 15:34:05 +02:00
maths [ADD] : maths joint probabilty distribution (#10508) 2023-10-15 17:03:03 +02:00
matrix Added validate sudoku board function (#9881) 2023-10-14 17:35:12 +02:00
networking_flow clean of unnecessary checks, imports, calls (#7993) 2022-11-21 00:00:27 +13:00
neural_network Add binary step activation function (#10030) 2023-10-08 19:34:50 -04:00
other Add DocTests to magicdiamondpattern.py (#10135) 2023-10-09 14:16:43 +02:00
physics updated physics/archimedes_principle.py (#10479) 2023-10-15 19:13:40 +02:00
project_euler Performance: 75% faster Project Euler 187 (#10503) 2023-10-15 11:17:22 +02:00
quantum Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
scheduling [Add] : Job Sequence program under GREEDY methods (#10482) 2023-10-15 12:18:28 +02:00
scripts Revert "validate_solutions.py: os.getenv('GITHUB_TOKEN', '')" (#10552) 2023-10-15 15:40:13 -04:00
searches Added Median of Medians Algorithm (#9864) 2023-10-09 08:41:30 +13:00
sorts Add typing (#9654) 2023-10-03 22:07:25 -04:00
strings Updated Comments on upper.py (#10442) 2023-10-14 15:02:37 -04:00
web_programming Fix mypy error in web_programming/reddit.py (#9162) 2023-10-01 16:10:33 +13: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 Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
CONTRIBUTING.md Update contributing guidelines to say not to open new issues for algorithms (#9760) 2023-10-05 13:26:33 +02:00
DIRECTORY.md Revert "validate_solutions.py: os.getenv('GITHUB_TOKEN', '')" (#10552) 2023-10-15 15:40:13 -04:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml Omit project_euler/ from coverage reports (#10469) 2023-10-15 17:16:56 +02:00
README.md chore: use newest Discord invite link (#8696) 2023-07-30 18:15:30 -07:00
requirements.txt Disable unused dependencies (#10467) 2023-10-14 22:08:52 +02:00

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.