The application provides a comprehensible content on the study of computer algorithms with a focus on interactivity and visualization of each step. By using controls the user goes through the algorithm while observing its work.
The current version of the application covers the following basic algorithms:
Data Structures (only on Android. iOS update 1.6.0 is coming)
- Linked List
- Bubble sort
- Selection sort
- Insertion sort,
- Merge sort
- Heap sort
- Quick sort
Binary Tree Algorithms
- Pre-order, In-order, Post-order and Breadth-first traversals
Binary Tree Operations
- Insertion a node
- Deleting a node
Hash Table Operations (chaining technique)
- Inserting data
- Deleting data
- Depth-first search and Breadth-first search algorithms
- Minimum Spanning Tree
- Dijkstra’s Algorithm
The visualization of the algorithms is accompanied by a piece of code that shows its implementations. There is a direct link between the code and the visualization. A link to a third-party Internet resource is also available to run the code online. Although the given code is written in Java, the explanation and visualization of the algorithms are in no way tied to a specific programming language.
Algorithms and Data Structures Interactive Course app is designed for a wide range of users and does not require any programming skills to understand this or that algorithm. However, since the application focuses on algorithms, it lacks definitions of data structures (with which the algorithms operate). Therefore, before using Algorithms and Data Structures Interactive Course app, it is recommended to be acquainted with such data structures as an array, binary tree, binary search tree, linked list, hash table, stack, queue, graph, etc. Algorithms and Data Structures Interactive Course may also interest experienced programmers, as it enables users with quick and efficient revision of the above algorithms.
The advantage of Algorithms and Data Structures Interactive Course app in comparison to other numerous resources for learning algorithms (books, presentations and videos), is that it helps master the material with minimal waste of time since while the user is observing the visual effect at every step, he or she is being involved in the algorithm. There is no need to pause or rewind in order to comprehend the idea of a lecturer as it happens with video-content. The speed of advancement in the Algorithms and Data Structures Interactive Course training program depends on the pace of the user, and not on the speed of a video clip.