$ bigoacademy --learn
Learn algorithms by watching them run.
Learn data structures and algorithms with step-by-step animations, code tested in 8 languages and levelled practice.
- lessons
- 52
- lessons
- languages
- 8
- languages
- questions
- 260
- questions
$ ls ~/lessons
- sorting_algorithms/Algorithms that put elements in order, from simple methods to divide and conquer.9 lessons
- data_structures/Ways to store and organise data, and the operations each one is good or bad at.14 lessons
- searching_algorithms/Ways to find a value in data, from linear search to binary search.5 lessons
- graph_algorithms/Algorithms that traverse nodes and edges and find paths and connections.8 lessons
- dynamic_programming/Splitting a problem into overlapping subproblems and solving each once: memoization and tables.6 lessons
- backtracking/Searching by building a solution step by step and undoing the last choice at dead ends: placements, subsets and orderings.4 lessons
- string_algorithms/Ways to find a pattern in text: from naive search to prefix tables and rolling hashes.3 lessons
- greedy_algorithms/Algorithms that make the choice that looks best right now: when they are right and when they mislead.3 lessons
Step-by-step animation
Watch every comparison and swap, pause anywhere, step back. Run data structure operations yourself.
Working code in 8 languages
C, C++, C#, Java, Python, Go, JavaScript and PHP. Every example is compiled, run and checked to print the same output.
Levelled practice
Easy, medium and hard questions. Pass a level to unlock the next; your progress is saved to your account.