All Algorithms implemented in Python the-algorithms.com/
Go to file
Caeden Perelli-Harris daa1c7529a
Raise error not string (#7945)
* ci: Add `B023` to `.flake8` ignores

* refactor: Return `bool`/raise Exception

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

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

* revert: Remove previous branch commit

* Update data_structures/binary_tree/segment_tree_other.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* feat: Apply `__repr__` changes

* chore: Fix failing tests

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

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

* Update data_structures/binary_tree/segment_tree_other.py

Co-authored-by: Christian Clauss <cclauss@me.com>

* test: Fix doctests

* random.choice(population_score[:N_SELECTED])[0]

* Update basic_string.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>
2022-11-06 15:54:44 +01:00
.github refactor: Move pascals triange to maths/ (#7932) 2022-11-01 20:25:39 +01:00
arithmetic_analysis refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
audio_filters Add flake8 pluin flake8 bugbear to pre-commit (#7132) 2022-10-13 18:03:06 +02:00
backtracking Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
bit_manipulation Is power of two (#7936) 2022-11-01 18:43:03 +01:00
blockchain Create README.md (#6642) 2022-10-30 11:14:02 +01:00
boolean_algebra Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
cellular_automata Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
ciphers Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
compression refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
computer_vision Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
conversions refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
data_structures Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
digital_image_processing Fix yesqa hook (#7843) 2022-10-29 15:07:02 +02:00
divide_and_conquer Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
dynamic_programming refactor: Condense password related files in one (#7939) 2022-11-02 17:20:57 +01:00
electronics Adding inductive reactance calculation (#6625) 2022-10-31 12:31:15 +01:00
file_transfer [mypy] fix small folders (#4292) 2021-03-23 16:51:50 +01:00
financial Calculate GST Amount (#7694) 2022-10-26 23:15:02 +02:00
fractals Change to https. (#7277) 2022-10-16 09:43:29 +02:00
fuzzy_logic Misc fixes across multiple algorithms (#6912) 2022-10-16 10:55:38 +05:30
genetic_algorithm Fix yesqa hook (#7843) 2022-10-29 15:07:02 +02:00
geodesy refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
graphics The black formatter is no longer beta (#5960) 2022-01-30 20:29:54 +01:00
graphs Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
greedy_methods Corrected the directory of Fractional Knapsack algorithm (#7086) 2022-10-16 22:41:28 +02:00
hashes Added Builtin Voltage (#7850) 2022-10-30 12:52:20 +01:00
knapsack Create recursive_approach_knapsack.py (#7587) 2022-10-29 15:28:12 +02:00
linear_algebra Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
machine_learning refactor: Move pascals triange to maths/ (#7932) 2022-11-01 20:25:39 +01:00
maths Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
matrix Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
networking_flow Add pep8-naming to pre-commit hooks and fixes incorrect naming conventions (#7062) 2022-10-13 00:54:20 +02:00
neural_network Add simple neural network (#6452) 2022-10-30 08:05:44 +01:00
other Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
physics Added a Hubble Parameter calculator file (#7921) 2022-10-31 23:04:42 +01:00
project_euler Project Euler: 092 decreased the time (#6627) 2022-10-30 11:10:16 +01:00
quantum create quantum_fourier_transform (#6682) 2022-10-31 18:32:54 +01:00
scheduling Misc fixes across multiple algorithms (#6912) 2022-10-16 10:55:38 +05:30
scripts pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
searches Remove file-level flake8 suppression (#7844) 2022-10-29 22:45:21 +02:00
sorts For the better understanding of time taken. (#6583) 2022-10-30 11:43:41 +01:00
strings Raise error not string (#7945) 2022-11-06 15:54:44 +01:00
web_programming Create convert_number_to_words.py (#6788) 2022-10-31 18:04:42 +01:00
.flake8 Reduce the complexity of other/graham_scan.py (#7953) 2022-11-02 23:56:30 +01: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 (#7920) 2022-10-31 21:33:08 +01:00
CONTRIBUTING.md Test on Python 3.11 (#6591) 2022-10-31 14:50:03 +01:00
DIRECTORY.md add prefix sum (#7959) 2022-11-04 20:30:32 +13:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml Add running doctest to pytest default (#7840) 2022-10-29 14:27:47 +02:00
README.md refined readme.md (#7081) 2022-10-13 19:09:48 +02:00
requirements.txt refactor: Condense password related files in one (#7939) 2022-11-02 17:20:57 +01: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.