Skip to content

Collection of pure python algorithms to solve computational problems.

License

Notifications You must be signed in to change notification settings

tomaslink/algorithmic

Repository files navigation

algorithmic

Coverage Python

Collection of pure python algorithm implementations to solve computational problems.

The goal is for these implementations to be:

  • Elegant (clean, short, easy to understand).
  • Theoretically efficient.
  • Well tested.
  • Well documented.

List of problems

References:

Design principles

Some design principles taken into account (from the Zen of Python):

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Flat is better than nested.
  • Sparse is better than dense.
  • Readability counts.
  • Errors should never pass silently.
  • Unless explicitly silenced.
  • There should be one-- and preferably only one --obvious way to do it.
  • If the implementation is hard to explain, it's a bad idea.
  • If the implementation is easy to explain, it may be a good idea.