/data-structures-for-teaching

Implementations of some Data Structures and Algorithms, with different approaches and some practical applications.

Primary LanguagePythonMIT LicenseMIT

Data Structures and Algorithms in Python

Implementations of some Data Structures, with different approaches and some practical applications. Designed to be used as consulting material for those who want to learn about Data Structures and Algorithms and have a preference for the Python programming language.

Here is a checklist of the Data Structures and Algorithms we have or we are planning to add. If you would like to add more to the checklist, just create a Pull Request with your additions and we will review it.

Data Structures:

Algorithms:

Sorting Algorithms:

Search Algorithms:

String Algorithms

Number Theory Algorithms

  • Greatest Common Divisor
  • Extended Greatest Common Divisor
  • Euler's Phi Function
  • Eratosthenes Sieve
  • Miller-Rabin
  • Modular Arithmetics

Algebra/Numerical Algorithms

  • Gauss
  • Simplex
  • Simpson
  • Fast Fourier Transform

Graph Algorithms:

  • Breadth-First Search
  • Depth-First Search

Contributing

We would love to see you contribute to this project. No matter if it is fixing a bug, adding some tests, improving documentation, or implementing new algorithms and data structures. See CONTRIBUTING.md so you can have a better understanding of our contribution guidelines.