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
- Documentation of tryalgo 1.4
- Blog tryalgo.org in French and English
TryAlgo in Paris
Demo: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 ([email protected]).
Released under the MIT License.
Contributors
Thanks!
- Louis Abraham
- Lilian Besson
- Xavier Carcelle
- Stéphane Henriot
- Ryan Lahfa
- Olivier Marty
- Samuel Tardieu