All Algorithms implemented in Python the-algorithms.com/
Go to file
Lukas Olenyi 2c279c492d feat: Add PPM (Prediction by Partial Matching) algorithm implementation
- Implemented the PPM algorithm for data compression and decompression.
- Added methods for updating the model, encoding, and decoding symbols.
- Included utility functions for reading from files and testing the algorithm.
- Verified functionality with various datasets to ensure accuracy.

This addition enhances the repository's collection of Python algorithms.
2024-11-21 02:16:20 +01:00
.devcontainer Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
.github Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
.vscode Create a Simultaneous Equation Solver Algorithm (#8773) 2023-06-02 07:14:25 +02:00
audio_filters Fix some ARG002 per file ignores (#11382) 2024-05-01 21:27:59 +02:00
backtracking Add Word Break algorithm (#11687) 2024-10-02 17:03:48 -07:00
bit_manipulation use format to remove '0b' (#11307) 2024-06-01 18:41:40 -07:00
blockchain Ruff pandas vet (#10281) 2023-10-11 14:30:02 -04:00
boolean_algebra [pre-commit.ci] pre-commit autoupdate (#11322) 2024-03-13 07:52:41 +01:00
cellular_automata Enable ruff PLR5501 rule (#11332) 2024-03-28 18:25:41 +01:00
ciphers feat: add test cases in cipher's autokey (#11881) 2024-10-08 13:33:28 +02:00
compression feat: Add PPM (Prediction by Partial Matching) algorithm implementation 2024-11-21 02:16:20 +01:00
computer_vision Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
conversions Tests/add new test case weight_conversion (#11468) 2024-06-25 23:06:57 -07:00
data_structures [pre-commit.ci] pre-commit autoupdate (#12370) 2024-11-11 21:05:50 +01:00
digital_image_processing Enable ruff RUF002 rule (#11377) 2024-04-22 21:51:47 +02:00
divide_and_conquer Fix ruff (#11527) 2024-08-25 17:33:11 +02:00
docs Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
dynamic_programming feat: increase test coverage of longest_common_subsequence to 75% (#11777) 2024-10-05 10:21:43 -07:00
electronics Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
file_transfer Update receive_file.py (#8541) 2023-03-31 16:08:13 +02:00
financial Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
fractals Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
fuzzy_logic balance parenthesis (add closing bracket) (#11563) 2024-09-24 00:30:36 -07:00
genetic_algorithm Add doctests in all functions in basic_string.py (#11374) 2024-04-20 12:50:37 +02:00
geodesy pre-commit: Upgrade psf/black for stable style 2023 (#8110) 2023-02-01 18:44:54 +05:30
geometry Enable ruff INP001 rule (#11346) 2024-04-02 21:13:56 +02:00
graphics Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
graphs Improve comments, add doctests for kahns_algorithm_topo.py (#11668) 2024-10-04 02:06:08 -07:00
greedy_methods Enable ruff INP001 rule (#11346) 2024-04-02 21:13:56 +02:00
hashes [pre-commit.ci] pre-commit autoupdate (#11473) 2024-07-02 07:02:29 +02:00
knapsack [pre-commit.ci] pre-commit autoupdate (#11322) 2024-03-13 07:52:41 +01:00
linear_algebra feat: add testcase of polynom_for_points (#11811) 2024-10-07 08:30:11 +02:00
linear_programming Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
machine_learning Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
maths feat: Implemented Matrix Exponentiation Method (#11747) 2024-10-04 09:29:39 -07:00
matrix Fix ruff (#11527) 2024-08-25 17:33:11 +02:00
networking_flow [pre-commit.ci] pre-commit autoupdate (#11322) 2024-03-13 07:52:41 +01:00
neural_network Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
other Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
physics Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +02:00
project_euler [pre-commit.ci] pre-commit autoupdate (#12234) 2024-10-22 11:22:34 +02:00
quantum Upgrade to Python 3.12 (#9576) 2023-10-03 14:47:10 +05:30
scheduling Fix ruff (#11527) 2024-08-25 17:33:11 +02:00
scripts validate_filenames.py Shebang python for Windows (#12371) 2024-11-15 14:59:14 +01:00
searches Implemented Exponential Search with binary search for improved perfor… (#11666) 2024-10-05 10:34:48 -07:00
sorts [pre-commit.ci] pre-commit autoupdate (#11473) 2024-07-02 07:02:29 +02:00
strings Added doctests to min_cost_string_conversion.py and removed :c specifier (#11721) 2024-10-04 02:36:14 -07:00
web_programming Upgrade to Python 3.13 (#11588) 2024-09-30 23:01:15 +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 (#12385) 2024-11-18 22:07:12 +01:00
CONTRIBUTING.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
DIRECTORY.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
index.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
LICENSE.md Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
pyproject.toml Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +02:00
README.md chore: use newest Discord invite link (#8696) 2023-07-30 18:15:30 -07:00
requirements.txt Create GitHub Pages docs with Sphinx (#11888) 2024-10-08 19:09:28 +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.