Skip to main content

Algorithms and data structures for preparing programming competitions

Project description

PyPI PyPI Pylint score Codecov

Algorithmic Problem Solving

Algorithms and data structures for preparing programming competitions (e.g. ICPC, see more) and coding interviews.
By Christoph Dürr and Jill-Jênn Vie.

Our book is available in French, English, Simplified and Traditional Chinese.

Install

pip install tryalgo

Documentation

Demo: TryAlgo in Paris

Shortest paths on the graph of Paris.

To run it yourself:

pip install -r examples/requirements.txt
jupyter notebook  # Then go to examples folder

Usage

Dynamic programming some example with coin change:

from tryalgo import coin_change

print(coin_change([3, 5, 11], 29))  # True because 29 = 6 x 3 + 0 x 5 + 1 x 11

Des chiffres et des lettres (that inspired Countdown)

from tryalgo.arithm_expr_target import arithm_expr_target

arithm_expr_target([25, 50, 75, 100, 3, 6], 952)

Returns '((((75*3)*(100+6))-50)/25)=952'.

Tests

All algorithms are thoroughly tested. These tests can be used to practice your programming skills!

python -m unittest

Most snippets from the book are within 76 columns (French version) or 75 columns (English version).

Our code is checked. Using optional requirements, you can check it too:

pip install pycodestyle pylint
make pycodestyle  # PEP8
make pylint

Found a bug?

Please drop an issue.

Authors

© 2016–2023, Christoph Dürr and Jill-Jênn Vie (vie@jill-jenn.net).
Released under the MIT License.

Contributors

Thanks!

  • Louis Abraham
  • Lilian Besson
  • Xavier Carcelle
  • Stéphane Henriot
  • Ryan Lahfa
  • Olivier Marty
  • Samuel Tardieu

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tryalgo-1.7.0.tar.gz (97.7 kB view details)

Uploaded Source

Built Distribution

tryalgo-1.7.0-py3-none-any.whl (106.6 kB view details)

Uploaded Python 3

File details

Details for the file tryalgo-1.7.0.tar.gz.

File metadata

  • Download URL: tryalgo-1.7.0.tar.gz
  • Upload date:
  • Size: 97.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for tryalgo-1.7.0.tar.gz
Algorithm Hash digest
SHA256 b594bb0b04fc0fcfe497969f5f632c4577e7a60a9a2ca8756c2fcf5b3d526dc9
MD5 bc2c5c1b1c123e0a423558ab948ea29b
BLAKE2b-256 7f0d97a492e2570d44f3d769b294bbe05d95408086d0946cac296e0bb34a0dc7

See more details on using hashes here.

File details

Details for the file tryalgo-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: tryalgo-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 106.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for tryalgo-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 425b0b17feeef387f449aa25ab63e90e60556c9ca266cc7e961b4bc8b3c10645
MD5 9723224230dd979e6f806001d4a4df19
BLAKE2b-256 eea1fe68386037989f0afe12baf0fb25584fa65cbaeb02777762989f46c8d153

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page