The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming.
I encourage you to try and solve each problem yourself first and only then look at these solutions.
Week 1 Programming Challenges PDF
Week 2 Algorithmic Warm-up PDF
- fibonacci.py
- fibonacci-last_digit.py
- gcd.py
- lcm.py
- fibonacci_huge.py
- fibonacci_sum_last_digit.py
- fibonacci_partial_sum.py
- fibonacci_sum_squares.py
Week 3 Greedy Algorithms PDF
- change.py
- fractional_knapsack.py
- car_fueling.py
- dot_product.py
- covering_segments.py
- different_summands.py
- largest_number.py
Week 4 Divide and Conquer PDF
Week 5 Dynamic Programming -1 PDF
Week 6 Dynamic Programming -2 PDF
Any type of legit contribution will be appreciated. Contributions may include :
- Documentation
- Improved algorithm implementation
- Code cleaning
- Code modularization
Certification PDF
Thanks goes to these wonderful people (emoji key):
Abhishek Kumar 💻 🖋 |
This project follows the all-contributors specification. Contributions of any kind welcome!