All Algorithms implemented in Python the-algorithms.com/
Go to file
Satish Mishra 45d3eabeb5
Add Optimized Shell Sort (#6225)
* Add Optimized Shell Sort

* Added return type

* reformatted

* added shrink_shell.py

* ran directory generator

* Rename shrink_shell.py to shrink_shell_sort.py

Co-authored-by: John Law <johnlaw.po@gmail.com>
2022-09-14 09:43:08 +01:00
.github Get rid of the Union (#6246) 2022-07-11 13:11:17 +02:00
arithmetic_analysis pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
audio_filters Add README files 1/7 (#5754) 2021-11-04 18:49:36 +08:00
backtracking Add README files 1/7 (#5754) 2021-11-04 18:49:36 +08:00
bit_manipulation Add README files 1/7 (#5754) 2021-11-04 18:49:36 +08:00
blockchain Pyupgrade to Python 3.9 (#4718) 2021-09-07 13:37:03 +02:00
boolean_algebra pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
cellular_automata Add README files 2/8 (#5766) 2021-11-11 21:39:54 +08:00
ciphers pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
compression Add README files 2/8 (#5766) 2021-11-11 21:39:54 +08:00
computer_vision pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
conversions Add Microsoft Excel Column Title to Column Number Conversion (#4849) 2022-05-24 09:18:50 +08:00
data_structures Fix Max Fenwick Tree (#6328) 2022-09-14 09:24:55 +01:00
digital_image_processing Add Digital Image Processing Algorithm: Local Binary Pattern (#6294) 2022-08-24 06:48:54 +02:00
divide_and_conquer pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
dynamic_programming Improve code on f-strings and brevity (#6126) 2022-05-13 20:51:44 +08:00
electronics The black formatter is no longer beta (#5960) 2022-01-30 20:29:54 +01:00
file_transfer [mypy] fix small folders (#4292) 2021-03-23 16:51:50 +01:00
financial Add equated_monthly_installments.py in Financials (#5775) 2021-11-07 15:40:23 +01:00
fractals pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
fuzzy_logic Improve Project Euler problem 014 solution 2 (#5744) 2021-11-04 17:01:21 +01:00
genetic_algorithm Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
geodesy Fix imports for all namespace packages (#2506) 2020-09-28 23:41:04 +02:00
graphics The black formatter is no longer beta (#5960) 2022-01-30 20:29:54 +01:00
graphs pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
greedy_methods Added Optimal Merge Pattern Algorithm (#5274) 2021-10-14 12:51:13 +02:00
hashes MAINT: Updated f-string method (#6230) 2022-07-07 16:34:07 +02:00
knapsack Rewrite parts of Vector and Matrix (#5362) 2021-10-27 11:48:43 +08:00
linear_algebra pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
machine_learning Fixes: 6216 | Support vector machines (#6240) 2022-07-11 12:42:07 +02:00
maths Add algorithm for creating Hamming numbers (#4992) 2022-07-17 05:55:29 +08:00
matrix MAINT: Updated f-string method (#6230) 2022-07-07 16:34:07 +02:00
networking_flow Add __init__.py files in all the directories (#2503) 2020-09-28 19:42:36 +02:00
neural_network MAINT: Updated f-string method (#6230) 2022-07-07 16:34:07 +02:00
other pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
physics typo corrected: heart -> Earth (#6275) 2022-08-06 17:47:56 +02:00
project_euler Unify O(sqrt(N)) is_prime functions under project_euler (#6258) 2022-09-14 09:40:04 +01:00
quantum Fix doctests and builds in various files (#6233) 2022-07-06 10:00:05 +02:00
scheduling MAINT: Updated f-string method (#6230) 2022-07-07 16:34:07 +02:00
scripts pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
searches MAINT: Updated f-string method (#6230) 2022-07-07 16:34:07 +02:00
sorts Add Optimized Shell Sort (#6225) 2022-09-14 09:43:08 +01:00
strings add the dna algorithm (#6323) 2022-09-05 02:51:11 +01:00
web_programming pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
.coveragerc Add pytest-cov (#1578) 2019-11-17 19:37:58 +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 autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
CONTRIBUTING.md Replace Travis CI mentions with GitHub actions (#5751) 2021-11-02 22:28:09 +01:00
DIRECTORY.md Add Optimized Shell Sort (#6225) 2022-09-14 09:43:08 +01:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pytest.ini Move validate_solutions and add durations flag to pytest.ini (#3704) 2020-10-24 19:07:33 +05:30
README.md chore: remove the PayPal badge (#6348) 2022-09-09 12:09:31 -05:00
requirements.txt Upgrade to Python 3.10 (#5992) 2022-02-13 06:57:44 +01:00

The Algorithms - Python

Gitpod Ready-to-Code Contributions Welcome Discord chat Gitter chat
GitHub Workflow Status LGTM pre-commit code style: black

All algorithms implemented in Python - for education

Implementations are for learning purposes only. As 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're on Discord and Gitter! Community channels are great for you to ask questions and get help. Please join us!

List of Algorithms

See our directory for easier navigation and better overview of the project.