All Algorithms implemented in Python the-algorithms.com/
Go to file
Christian Clauss d23e709aea
maths/sum_of_digits.py: Streamline benchmarks (#7914)
* maths/sum_of_digits.py: Streamline benchmarks

```
sum_of_digits(262144): 19 -- 0.3128329170285724 seconds
sum_of_digits_recursion(262144): 19 -- 0.34008108399575576 seconds
sum_of_digits_compact(262144): 19 -- 0.6086010000435635 seconds

sum_of_digits(1125899906842624): 76 -- 0.8079068749793805 seconds
sum_of_digits_recursion(1125899906842624): 76 -- 0.8435653329943307 seconds
sum_of_digits_compact(1125899906842624): 76 -- 1.247976207989268 seconds

sum_of_digits(1267650600228229401496703205376): 115 -- 1.6441589999594726 seconds
sum_of_digits_recursion(1267650600228229401496703205376): 115 -- 1.713684624992311 seconds
sum_of_digits_compact(1267650600228229401496703205376): 115 -- 2.2197747920290567 seconds
```

* updating DIRECTORY.md

* Update sum_of_digits.py

* Update sum_of_digits.py

Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2022-11-01 14:07:11 +01:00
.github Test on Python 3.11 (#6591) 2022-10-31 14:50:03 +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 Added algorithm for finding index of rightmost set bit (#7234) 2022-10-30 14:28:27 +01:00
blockchain Create README.md (#6642) 2022-10-30 11:14:02 +01:00
boolean_algebra Added Implementation of NAND, OR ,XNOR and NOT gates in python (#7596) 2022-10-25 21:53:21 +02:00
cellular_automata Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
ciphers Fix grammatical mistakes in simple_keyword_cypher.py (#6385) 2022-10-30 08:03:28 +01:00
compression refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
computer_vision Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
conversions refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
data_structures Added Radix Tree in data structures (#6616) 2022-10-31 14:14:33 +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 bottom-up edit distance function to be class method (#7347) 2022-10-31 18:13:21 +13: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 Rename files (#7819) 2022-10-29 14:31:56 +02: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 refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
machine_learning Added mean absolute error in linear regression (#7003) 2022-10-30 13:42:59 +01:00
maths maths/sum_of_digits.py: Streamline benchmarks (#7914) 2022-11-01 14:07:11 +01:00
matrix matrix/count_paths.py (#7533) 2022-10-30 18:20:07 +13: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 Modified 'pascal_triangle.py' program (#7901) 2022-10-31 17:58:42 +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 Increased Readability Of Variables (#6400) 2022-10-30 08:11:17 +01:00
web_programming Create convert_number_to_words.py (#6788) 2022-10-31 18:04:42 +01:00
.flake8 refactor: move flake8 config (#7167) 2022-10-14 16:34:44 +02: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 [pre-commit.ci] pre-commit autoupdate (#7920) 2022-10-31 21:33:08 +01: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 Test on Python 3.11 (#6591) 2022-10-31 14:50:03 +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.