All Algorithms implemented in Python the-algorithms.com/
Go to file
Tapas Singhal 8217f9bd35
Create find_previous_power_of_two.py (#11004)
* Create find_previous_power_of_two.py

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

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

* Update find_previous_power_of_two.py

This change avoids the unnecessary left shift operation

* Update find_previous_power_of_two.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-29 11:25:39 +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 Create crossword_puzzle_solver.py (#11011) 2023-10-28 23:13:14 +02:00
bit_manipulation Create find_previous_power_of_two.py (#11004) 2023-10-29 11:25:39 +01:00
blockchain Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
boolean_algebra Create multiplexer.py (#11064) 2023-10-29 08:42:32 +01:00
cellular_automata Fix typos (#9076) 2023-09-23 10:53:09 +02:00
ciphers added doctest to playfair_cipher.py (#10823) 2023-10-22 17:39:31 -04: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 (#11059) 2023-10-28 21:43:20 +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 Delete dynamic_programming/longest_sub_array.py (#10073) 2023-10-16 04:03:16 -04: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
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 Delete arithmetic_analysis/ directory and relocate its contents (#10824) 2023-10-23 09:31:30 +02:00
linear_programming Fix simplex.py (#8843) 2023-08-17 14:34:53 -07:00
machine_learning Added Gradient Boosting Classifier (#10944) 2023-10-27 23:17:58 +02:00
maths Added adams-bashforth method of order 2, 3, 4, 5 (#10969) 2023-10-29 00:12:17 +02:00
matrix Add matrix_multiplication (#10045) 2023-10-17 11:25:25 +02: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 Revert "validate_solutions.py: os.getenv('GITHUB_TOKEN', '')" (#10552) 2023-10-15 15:40:13 -04:00
searches add exponential search algorithm (#10732) 2023-10-21 20:53:34 +02:00
sorts Add more doctest to intro_sort.py #9943 (#11068) 2023-10-29 10:37:07 +01:00
strings Add bitap_string_match algo (#11060) 2023-10-29 00:48:50 +02:00
web_programming Update instagram_pic.py (#10957) 2023-10-29 10:52:50 +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 (#10856) 2023-10-23 22:29:16 +02:00
CONTRIBUTING.md Fix Typo & Grammatical Errors (#10980) 2023-10-26 14:51:28 +02:00
DIRECTORY.md Speed up dijkstra_bankers_algorithm.py (#10861) 2023-10-26 14:36:53 +02:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml Add bitap_string_match algo (#11060) 2023-10-29 00:48:50 +02: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.