Authors: Keerthana P, Mohammed Afthab, Meghanath Shetty, Arvind M
DOI Link: https://doi.org/10.22214/ijraset.2023.51094
Certificate: View Certificate
Nowadays, Data Structure and Algorithms are an essential part of computer science because they help us to store, process, and analyse large amount of data. In Data Structure we use serval technics to organize the data. We believe the best way to understand Data Structure and Algorithms is to see them in action. We developed interactive visualization for a variety of algorithms where human brain can easily understand and work on it. The purpose of developing this project is to make human understand Algorithms easily. And this project helped us to understand, Data Structure and Algorithms efferently. The analysis of data structures and algorithms has traditionally been theoretical and mathematical. This makes it time-consuming, challenging to study, and lacking in comprehension of how a problem is implemented in real life. To assist students and teachers in visualising data structures and algorithms with their actual execution, we have designed and provided an idea, data structures, and algorithm.
Data structures offer productivity, reuse, and abstraction. Because storing and retrieving user data as quickly as feasible is a programme's primary purpose, it plays a significant part in improving performance. The importance of data structures and algorithms in computer science cannot be overstated. We can organise and store data using data structures, and we can process it meaningfully using algorithms.
Data structure courses in computer science are challenging for undergraduate students and beginning programmers to comprehend. Numerous computing issues make use of common data structures. Furthermore, it is challenging to assist our pupils in properly comprehending what is happening inside a certain built-in implementation of a data structure. To give a more effective visualisation of the collection of data pieces pertaining to the data structures being studied, our project's objective is to provide a dynamic visualisation tool that takes little effort from learners. We can visualise the data pieces and the accompanying structures to improve students' learning experiences by using run-time detection to the data structures.
The main motivation of the project “VISDAA” is to understand Data structure and Algorithm by Visualization which human brain can easily catch and implement. The project described in this project features the following features.
III. PROPOSED RESEARCH
The proposed research aims to develop a visualization tool for data structures and algorithms to help learners better understand these concepts. The tool will be designed to provide interactive visualizations that allow users to explore the behavior of different data structures and algorithms in real-time.
The research will involve several stages, including a literature review of existing visualization tools for data structures and algorithms, identification of the most effective visualization techniques, and the design and development of the visualization tool.
The expected outcome of the research is a user-friendly and effective visualization tool that can be used as a teaching aid in computer science courses or by individuals looking to improve their understanding of data structures and algorithms. The tool could also be used for research purposes to analyze the performance of different algorithms and data structures.
IV. BACKGROUND OF RESEARCH
Data structures and algorithms are essential concepts in computer science and software engineering. However, they can be complex and difficult to understand, especially for beginners. Visualization tools have been found to be an effective way to help learners understand these concepts.
The use of 3D visualization techniques can provide a more immersive and effective learning experience for learners of data structures and algorithms.
The models that come to implement single data structure are visualizers. We believe that a good, efficient, optimized code is when we write a code that is reusable and easily maintainable. So here we are trying to implement OPPs concept by creating a separate package for the functions or code that can be used to create another data Structure and Algorithm visualizer. To implement any data structure visualizer, first we need to understand that data structures or Algorithm properly. That’s why we are implementing the Data structure or algorithm using java so that we can get an idea of how it can be implemented.
A. Architectural Design
The presentation layer, the application layer, and the data layer are the three primary levels that make up the suggested architecture for the data structure and algorithm visualization platform.
4. Class Diagram
The class diagram illustrates the key classes and their relationships within the proposed architecture. The User Interface class is responsible for interacting with the user and displaying the appropriate menus and visualizations. The Visualizer class generates the visualizations of the data structures and algorithms, while the Controller class processes user requests and generates appropriate responses.
TheDataNode represent the nodes and edges of the data structures, respectively.They include properties such as value, next, prev, start, end, and weight,which are used to define the structure and behavior of the data structures.
The DataNode and DataEdge classes represent the nodes and edges of the data structures, respectively. They include properties such as value, next, prev, start, end, and weight, which are used to define the structure and behavior of the data structures.
5. Sequence Diagram:
This sequence diagram illustrates the interaction between the key classes of the platform, including the UserInterface, Controller, and Visualizer classes.
The user begins by interacting with the UserInterface class, which displays a menu of available data structures and algorithms. The user selects an option from the menu, which triggers a call to the processRequest() method of the Controller class.
The Controller class processes the user request, generating an appropriate response by calling the generateResponse() method. The response is then passed back to the UserInterface class, which displays the appropriate visualization by calling the visualizeData() method of the Visualizer class.
The Visualizer class generates the appropriate graph visualization of the selected data structure or algorithm by calling the generateGraph() method. The resulting visualization is then passed back to the UserInterface class, which displays it to the user.
VII. MODULES IDENTIFIED
After completion of this project user can access our web application from any device and will be able to visualize most popular Data Structures ADT’s. It will be useful for the teacher who want to teach their student through visualization and learner who want a better understanding of DSA or a developer who want to revise his forgotten DSA skills quickly. Best part of this project is that it’s going to be an open source and freely available in GitHub anyone can contribute or read the implementation.
 Tao Chen and Tarek Sobh, “A Tool for Data Structure and user-defined Algorithm”, University of Bridgeport, London,2019.  Yoram Moses, Zvi Polunsky, Ayellet Tal, “Algorithm Visualization for Distributed Environments”, The Weizmann Institution of Science, USA,2015.  Andrea Stocco, Maurizio Leotta, Filippo Ricca, Paolo Tonella, “A tool for Migrating DOM based Visual Web Tests”, University of Genova, Italy,2014.  Juan Lin, , Hui Zhang, “Data Structure Visualization on the web”, University of Louisville, USA,2020.  Ahmed Roshdy, Nada Sharaf, Madeleine Saad and Slim Abdennadher, “Generic Data Visualization platform”, The German University in Cairo, Egypt,2018.  Shraddha Ghadge, Virajas Mane, “A Survey paper on Data Structures and Algorithm Visualization”, University of Mumbai, India,Volume:04, Issue:04, April 2022.  Edy Budiman, Nataniel Dengen and Ummul Hairah , “Visualization Tools of Data Structure Course to Support Learning Students”, University Mulawarman Samarinda, Indonesia, 2011.
Copyright © 2023 Keerthana P, Mohammed Afthab, Meghanath Shetty, Arvind M. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET51094
Publish Date : 2023-04-26
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here