All Algorithms implemented in Python the-algorithms.com/
Go to file
Tan Kai Qun, Jeremy 12431389e3
Add typing to topological_sort.py (#9650)
* Add typing

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

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

---------

Co-authored-by: Jeremy Tan <jeremytan@stripe.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-03 21:47:03 -04: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 Delete empty junk file (#9062) 2023-09-17 00:12:31 +02:00
audio_filters Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
backtracking Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
bit_manipulation Add missing number algorithm (#9203) 2023-10-01 13:28:20 +02:00
blockchain pre-commit: Upgrade psf/black for stable style 2023 (#8110) 2023-02-01 18:44:54 +05:30
boolean_algebra Rename norgate to nor_gate to keep consistency (#8968) 2023-08-16 18:21:00 -07:00
cellular_automata Fix typos (#9076) 2023-09-23 10:53:09 +02:00
ciphers Rewrite of base85.py algorithm (#9069) 2023-09-24 03:36:06 -04:00
compression Fix typos (#9076) 2023-09-23 10:53:09 +02:00
computer_vision Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
conversions Delete empty junk file (#9062) 2023-09-17 00:12:31 +02:00
data_structures add reverse k group linkedlist (#9323) 2023-10-02 02:19:39 +02:00
digital_image_processing Fix mypy errors in erosion_operation.py (#8603) 2023-09-27 14:00:34 +02:00
divide_and_conquer [pre-commit.ci] pre-commit autoupdate (#9013) 2023-08-29 15:18:10 +02:00
dynamic_programming Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
electronics Fix ruff errors (#8936) 2023-08-09 13:25:30 +05:30
file_transfer Update receive_file.py (#8541) 2023-03-31 16:08:13 +02:00
financial Added apr_interest function to financial (#6025) 2023-06-19 13:46:29 +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 Delete empty junk file (#9062) 2023-09-17 00:12:31 +02:00
greedy_methods Added minimum waiting time problem solution using greedy algorithm (#8701) 2023-05-01 12:23:03 +02:00
hashes Fix typos (#9076) 2023-09-23 10:53:09 +02:00
knapsack pre-commit: Upgrade psf/black for stable style 2023 (#8110) 2023-02-01 18:44:54 +05:30
linear_algebra Reduce the complexity of linear_algebra/src/polynom_for_points.py (#8605) 2023-08-13 03:05:42 -07:00
linear_programming Fix simplex.py (#8843) 2023-08-17 14:34:53 -07:00
machine_learning Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
maths Changing Name of file and adding doctests in file. (#9513) 2023-10-03 11:40:11 -04:00
matrix [pre-commit.ci] pre-commit autoupdate (#9013) 2023-08-29 15:18:10 +02:00
networking_flow clean of unnecessary checks, imports, calls (#7993) 2022-11-21 00:00:27 +13:00
neural_network Added Scaled Exponential Linear Unit Activation Function (#9027) 2023-09-06 15:16:51 -04:00
other Create word search algorithm (#8906) 2023-09-30 00:57:56 -04:00
physics Update newtons_law_of_gravitation.py : Typo(Space Removed) (#9351) 2023-10-03 19:47:26 -04:00
project_euler Euler072 - application of vector operations to reduce calculation time and refactoring numpy (#9229) 2023-10-01 14:14:58 -04:00
quantum Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
scheduling [pre-commit.ci] pre-commit autoupdate (#9013) 2023-08-29 15:18:10 +02:00
scripts Add more ruff rules (#8767) 2023-05-26 09:34:17 +02:00
searches improvements to jump_search.py (#8932) 2023-08-08 14:47:09 -07:00
sorts Add typing to topological_sort.py (#9650) 2023-10-03 21:47:03 -04:00
strings Returning Index instead of boolean in knuth_morris_pratt (kmp) function, making it compatible with str.find(). (#9083) 2023-09-28 20:24:46 +02: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 pre-commit autoupdate && pre-commit run --all-files (#9516) 2023-10-03 05:05:43 +02:00
CONTRIBUTING.md Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
DIRECTORY.md Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml Fix ruff rules ISC flake8-implicit-str-concat (#8892) 2023-07-28 17:53:09 +01:00
README.md chore: use newest Discord invite link (#8696) 2023-07-30 18:15:30 -07:00
requirements.txt Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30

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.