Having problems understanding mathematical and logical algorithms? Regretting all the times you slept through lectures, never taking notes because that's what nerds do? Confused that memorising them isn't working anymore? Then VisuAlgo has the solution, with complimentary animations and quizzes.
Created by Dr. Steven Halim from National University of Singapore in 2011, VisuAlgo is a website containing tutorials and animations for many data structures and algorithms that are generally used in computational math. It started as a guide for his computer science students at NUS and since then developed into a fully functioning website that caters to students and enthusiasts around the world free of charge.
The site's collection of content mostly contains graph and tree related algorithms, divided into multiple segments based on its classification like- graph traversal, minimum spanning tree etc. Apart from that there are also segments on sorting algorithms, dynamic programming, suffix arrays, geometry and basic data structures.
Their homepage is well organised and easily navigable. There are a total of twenty segments and the number's growing. A segment's thumbnail has its distinct gif to better clarify what it contains. Each segment also has tags that can be used for in-site searching and viewing related topics.
A segment leads to VisuAlgo's core tutorial page, and this is where all the fun begins. Due to general practice, the word tutorial mostly associates with videos. But VisuAlgo does it differently, and brilliantly I should say. They use animation on user customisable structures. Let's take the Graph Traversal segment for instance, you can draw your own graph with a fairly easy click and drag mechanism. You can also get a randomly generated graph or use one from the given list. You can reassign the weights of each node and the directions of edges. For sorting algorithms, you can create your own list of unsorted components. For dynamic programming you can choose an algorithm or write custom code.
After preparing the structure, it's time to work with it. Segments usually have multiple algorithms to choose from. For example, there are eight sorting algorithms and in Minimum Spanning Tree there's Prim and Kruskal's algorithms. After choosing the algorithm, you start the animation. While the animation plays, the structure is modified accordingly, with the pseudo code of the algorithm conveniently placed on the side. The changes of each step is highlighted both in the structure and the code. You can change the speed of the animation to your liking. I've found that the best way to really utilise the animation is not to play it rather forward it step by step.
The whole process may seem tricky at first, but thankfully they have the e-lecture mode where you get a tour of how to use VisuAlgo's many features. The e-lecture tour also comprises of a summarised description of the segment. This along with the pseudo code can work as a last minute revision before exams.
VisuAlgo's newest feature is their practice module. You can access it via the Training button on the top right corner of the home screen or on the segments themselves. You can set the difficulty, time limit and no. of questions. The quizzes are a great way for self evaluation.
Visit their page: http://visualgo.net/