The application provides 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.
https://www.youtube.com/watch?v=BU3YW4sNtf0
The current version of the application covers the following basic computer algorithms and data structures:
I. SORTING
Bubble sort,
Selection sort,
Insertion sort,
Merge sort,
Heap sort,
Quick sort
II. BINARY SEARCH TREE
Pre-order traversal,
In-order traversal,
Post-order traversal,
Breadth-first traversals,
Insertion a node into a binary search tree,
Deleting a node from a binary search tree
III. HASH-TABLE (chaining technique)
Inserting data into a Hash-table,
Deleting data from a Hash-table
IV. GRAPH
Depth-first search,
Breadth-first search,
Minimum Spanning Tree,
Dijkstra's algorithm,
Graph Constructor
The visualization of the algorithms and data structures is accompanied by a piece of code that shows its implementations. There is a direct link between the code and the visualization. The full code of each algorithm can be found by the link to a third-party Internet resource. 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.
The application is designed for mobile phone screens. On tablets (on devices with aspect ratio 4:3 in particular), the application is displayed in a scaled mode.
Algorithms and Data Structures Interactive Course 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, 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 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.