I started the project by learning data structures and algorithms from a book Problem Solving with Algorithms and Data Structures using Python. It does not contain everything from the book, nor is everything implemented in the same way, but it also contains other data structures, algorithms and problems.
- Anagrams - quadratic solution
- Anagrams - log linear solution
- Anagrams - linear solution
- Time - iterative solution
- Time - non-iterative solution
- Stack - array implementation
- Stack - less efficient array implementation
- Stack - fixed size array implementation
- Stack - linked list implementation
- Queue - array implementation
- Queue - fixed size array implementation
- Queue - linked list implementation
- Circular queue - fixed size array implementation
- Convert number - recursive solution
- Convert number - iterative solution
- Factorial
- Fibonacci - iterative solution
- Fibonacci - recursive worst solution
- Fibonacci - memoization
- Fibonacci - recursive solution
- Fibonacci sum
- Maze - path finder
- Palindrome
- Reverse linked list - recursive solution
- Reverse linked list - iterative solution
- Reverse list
- Reverse string
- Sum numbers - binary recursion
- Sum numbers - recursion with pointer
- Sum numbers - recursion with slicing
- Towers of Hanoi