This 28-part course consists of tutorials on data structures and algorithms. It alternates between tutorials and implementation, and you get to implement every algorithm. You can think of this course as a "Free Online Nano Book".
This course teaches algorithms and data structures f...
Read more…(191 words)
This section introduces the concept of algorithms, and defines what it means when we talk about an algorithm's efficiency.
We'll start with the greedy algorithm, and after that we'll learn about recursion.
Binary search is a recursive search algorithm which runs in O(\log n) time. It's an example of a divide-and-conquer algorithm.
Sorting algorithms are a set of algorithms that all solve the same problem (sorting) but using very different strategies. These algorithms will introduce you to techniques such as recursion, divide-and-conquer, heaps, etc.
There are a bazillion different websites for competitive programming out there. Codeforces, SPOJ, TopCoder, Timus, CodeChef, USACO, and on and on. This discussion is a place to highlight the interesting features of each website and tell us which one you like best.
International Olympiad in Informatics Training: Path to Gold
This is a 100+ part playbook that takes you from basic C++ programming to a Gold medal at IOI. It has tutorials on 30+ algorithms and data structures, and 75+ problems based on those topics, sorted by increasing difficulty.
Read more…(348 words)
2 problems to check if you satisfy C++ pre-requisites.
Hello everyone, wanted to share the Competitive Programmer's Handbook (~300 page PDF). I think reading this book will take you 10x lesser time than Introduction to Algorithms CLRS while teaching you just as much. The book has ~10x lesser words than CLRS and 5x more diagrams (lesser theory and math). Diagrams are very helpful in learning algorithms because it is all about visualization. That is also why this community has a lot of short video tutorials on various algorithms, because visualizing it makes it easy to understand. Enjoy!