All Algorithms implemented in Python the-algorithms.com/
Go to file
Margaret 3999abfea3
adding a geometry module (#11138)
* adding a geometry module

* fixing errors and adding type hints

* Create code_review_feedback.py

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

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

* implementing suggestions

* fixing ruff errors

* Update geometry/code_review_feedback.py

* Update geometry/code_review_feedback.py

* Update geometry/geometry.py

* Apply suggestions from code review

* Delete geometry/code_review_feedback.py

* Update geometry/geometry.py

* Update geometry/geometry.py

---------

Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-24 19:00:21 +01:00
.devcontainer Upgrade our Devcontainer to Python 3.12 on Debian bookworm (#9580) 2023-10-03 23:04:59 +13:00
.github Remove myself from CODEOWNERS (#10220) 2023-10-24 17:53:17 +02:00
.vscode Create a Simultaneous Equation Solver Algorithm (#8773) 2023-06-02 07:14:25 +02:00
audio_filters Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
backtracking Generate parentheses (#10903) 2023-10-29 13:55:31 +01:00
bit_manipulation test: adding more tests to missing number algorithm (#10394) 2023-10-29 22:43:32 +01:00
blockchain Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
boolean_algebra Create karnaugh_map_simplification.py (#11056) 2023-10-29 22:20:57 +01:00
cellular_automata Fix typos (#9076) 2023-09-23 10:53:09 +02:00
ciphers Add running key cipher (#10834) 2023-10-29 15:55:37 +01:00
compression Fix typos (#9076) 2023-09-23 10:53:09 +02:00
computer_vision Fix typo in haralick_descriptors.py (#10988) 2023-10-26 13:24:17 +02:00
conversions Create ipv4_conversion.py (#11008) 2023-10-29 00:47:46 +02:00
data_structures Added doctest to heap.py (#11129) 2023-11-13 17:05:22 +06: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 Dahhou ilyas (#10058) 2023-10-29 18:24:37 +01:00
electronics Capacitor equivalence algorithm (#9814) 2023-10-26 04:10:13 -04:00
file_transfer Update receive_file.py (#8541) 2023-03-31 16:08:13 +02:00
financial Add Simple Moving Average (SMA) Calculation (#9300) 2023-10-23 09:25:07 -04:00
fractals Window closing fix (#8625) 2023-07-31 20:02:49 -07:00
fuzzy_logic Add FuzzySet Class for Triangular Fuzzy Sets (#11036) 2023-10-28 20:32:12 +02:00
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
geometry adding a geometry module (#11138) 2023-11-24 19:00:21 +01:00
graphics Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
graphs Increase code coverage for dijkstra algorithm (#10695) 2023-10-27 22:10:32 +02:00
greedy_methods Add doctests for fractional knapsack (#10891) 2023-10-24 16:36:24 +02:00
hashes Add doctest to hashes/hamming_code.py (#10961) 2023-10-27 23:13:51 +02:00
knapsack Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
linear_algebra implementation of Gaussian Elimination pivoting as a numerical linear algebra algorithm (#10457) 2023-10-30 14:20:47 +01:00
linear_programming Fix simplex.py (#8843) 2023-08-17 14:34:53 -07:00
machine_learning Added doctest to decision_tree.py (#11143) 2023-11-05 14:01:00 +05:45
maths Happy number (new algorithm) (#10864) 2023-10-30 19:15:49 +01:00
matrix Added tests for validate_sudoku_board.py (#11108) 2023-10-31 01:00:48 +01:00
networking_flow Add function docstrings, comments and type hints (#10893) 2023-10-24 23:35:38 +02:00
neural_network Create ipv4_conversion.py (#11008) 2023-10-29 00:47:46 +02:00
other Speed up dijkstra_bankers_algorithm.py (#10861) 2023-10-26 14:36:53 +02:00
physics Added Lens formulae to the Physics repository (#10187) 2023-10-26 03:58:40 -04: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 Fix ignore venv in build_directory_md.py (#11156) 2023-11-16 17:00:48 +06:00
searches add exponential search algorithm (#10732) 2023-10-21 20:53:34 +02:00
sorts adding-docstrings (#11114) 2023-10-31 07:53:38 +01:00
strings Added doctest to string_switch_case.py (#11136) 2023-11-06 18:18:41 +06:00
web_programming Fix ignore venv in build_directory_md.py (#11156) 2023-11-16 17:00:48 +06: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 (#11146) 2023-11-07 06:49:09 +06:00
CONTRIBUTING.md Fix Typo & Grammatical Errors (#10980) 2023-10-26 14:51:28 +02:00
DIRECTORY.md [pre-commit.ci] pre-commit autoupdate (#11146) 2023-11-07 06:49:09 +06:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml [pre-commit.ci] pre-commit autoupdate (#11146) 2023-11-07 06:49:09 +06:00
README.md chore: use newest Discord invite link (#8696) 2023-07-30 18:15:30 -07:00
requirements.txt Add automatic differentiation algorithm (#10977) 2023-10-27 10:47:24 +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.