Web-based interactive graph visualization - Gunawan Limantoro, Jason (Nanyang Technological University, 2021)
Graph is an abstract mathematical structure depicted by a set of vertices and edges. It is often used to represent complex data and their relationships in a simple manner. Due to its flexibility, it is able to model different kinds of data from a variety of fields, such as Computer Science, Biology, and Chemistry. However, in order to make use of graph's full potential, one must understand basic operations that can be done in a graph. These operations require rudimentary knowledge of graph algorithms, which have steep learning curve because even the simple ones require one to mentally keep track of the graph state at every step of the algorithms. Not to mention that before one can truly understand how an algorithm works internally, he/she needs to analyze how it behaves on different graphs with varying structures since different graph structures might affect its behavior altogether. Therefore, in order to aid this challenging learning process, a visualization tool that can build arbitrary graphs and highlight important steps of an algorithm on any given graph is needed. Although there are existing graph visualization tools, most of them are built for professional business experts, and therefore, none of them is able to provide a gentle introduction to graph algorithms. Since understanding graph algorithms is crucial in order to utilize the full potential of graphs, there is a need to reduce the learning curve of graph algorithms. The immediate objective of this project is to build Graphvis, a web-based visualization tool that is able to provide a gentle introduction to graph algorithms for novice users that would otherwise be impossible with existing visualization tools. Built with the most modern web technology, the tool will provide a comprehensive animated visualization for graph algorithms so that users can easily analyze the behavior and important steps of a particular algorithm. In addition, the tool also supports a fully interactive graph builder for users to create their own graphs to better understand how an algorithm works for their specific use cases. With sufficient customizability and features, Graphvis will be able to reduce the steep learning curve of graph algorithms better than any other existing tools.