Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Prof. Abhijeet Thakare, Naziya Siddiqui, Kalyani Dhoke
DOI Link: https://doi.org/10.22214/ijraset.2023.50207
Certificate: View Certificate
Computer Science is a field of not just generating solutions to day-to-day activities but also to enhance it to the fullest. Algorithms are the basic practical unit for improving any activity that offer work with specific productivity, and to obtain and increase the productivity of a task. Sorting is the key component of Data structures and Algorithms. However, it is complicated and we weren\'t able to recognize the whole algorithm and code for the first time. So the use of this application has many superior understanding of education. The key element of this project is to help beginners to be able to visualize the sorting algorithms so our brain can understand faster and remember better. And also get a better understanding of underlying operations.
I. INTRODUCTION
Computer Engineering is a field entirely built on building more efficient tools and logics. Software is a set of programs which are written with logic. These programs and logics are written with defined measures and use various techniques to achieve final output which is highly efficient are known as algorithms. Algorithm means a set of rules to be followed in calculations and problem-solving operations.
Algorithms must be highly optimized to achieve better time and space complexity. Hence, we implement this project to obtain understandability of various sorting algorithms and searching.. We have learnt various sorting algorithms. However, often we fail to understand the core idea of particular sorting; however, we may be unable to visualize the working of it. So the most important thing to understand about the working of algorithms is “Visualization”.
By this application students freely obtain a deep understanding of various sorting and searching algorithms by getting the data and algorithms related to particular sorting and searching of their choice. Users will obtain effective, efficient and theoretical knowledge of data structure and algorithms.
A sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders are numerical order and lexicographical order, and either ascending or descending. Efficient sorting is important for optimizing the efficiency of other algorithms (such as search and merge algorithms) that require input data to be in sorted lists. Sorting is also often useful for canonicalizing data and for producing human-readable output. Sorting algorithms are prevalent in introductory computer science classes, where the abundance of algorithms for the problem provides a gentle introduction to a variety of core algorithm concepts, such as big O notation, divide-and-conquer algorithms, data structures such as heaps and binary trees, randomized algorithms, best, worst and average case analysis, time–space tradeoffs, and upper and lower bounds. Comparison sorting algorithms have a fundamental requirement of Ω(n log n) comparisons (some input sequences will require a multiple of n log n comparisons, where n is the number of elements in the array to be sorted). Algorithms not based on comparisons, such as counting sort, can have better performance.
II. RELATED WORK
App based sorting algorithm visualizer is an application in which we have shown the information (like Definition, Algorithm, Program) of sorting as well as searching techniques.
There is a search bar in the application to search the technique which one wants to learn instead of scrolling down to search the technique and also we have added the feature of voice note to save the notes in their own language instead of using pen and paper to note the thing . The most interesting part of this application is the user can see the sorting/searching of the array in the visual form which means we are presenting the visualization of the sorting and searching techniques (like how the technics works) and there is an option of generate new array through which user can generate their own array (if they wants to) to perform the sorting and see visualization
III. LITERATURE REVIEW
The performance of any computation depends upon the performance of sorting algorithms.Like all complicated problems, there are many solutions that can achieve the same results like Algorithm Visualizer. International Research Journal of Modernization in Engineering Technology and Science (1) This paper choose two of the sorting algorithms among them selection sort and shell sort and compares the various performance factor among them and The State” of the Field by Transactions on Computing Education. (2) In this paper we provide a qualitative and quantitative analysis of the performance of parallel sorting algorithms on modern multi-core hardware. We consider several general-purpose methods,which are widely regarded among the best algorithms available, with particular interest in sorting of database records and very large arrays (several gigabytes and more), whose size far exceed L2/L3 cache Proceedings of the 11th International Conference on Agents and Artificial Intelligence. (3) Many different sorting algorithms have been developed and improved to make sorting fast. Finding the shortest path in a graph and its visualization using C# and WPF” by International Journal of Computers. (4) As a measure of performance mainly the average number of operations or the average execution times of these algorithms have been investigated and compared. Software visualization and education.
IV. DATA FLOWCHART DIAGRAM
V. IMPLEMENTATION
The HTML5 (Hypertext markup language), PHP (Hypertext preprocessor), JS(JavaScript) libraries and CSS (Cascading Style Sheets) is used for building the project. Code contain in one Html file i.e. preprocessed by PHP language. We have used Speech Recognition library of js(Speech Recognition) for storing data/note in the form of audio i.e. by speaking. However, we modified, user not only store information in speech-to-text form but also user can store information in written form. For visualization we have used Standard Recognition library. We have used four object:
Represent information and algorithm related to sorting as well as searching.
VI. H/W AND S/W REQUIREMENTS
VII. ADVANTAGES
Sorting algorithms can help to sort database information, customer data, and financial reports. It’s important to understand how sorting algorithms are beneficial to your business and the right ones to use when performing certain tasks that may require sorting larger portions of data. The advantage of the App based sorting algorithm visualizer is that it is popular and easy to implement. The space requirement is at a minimum. Elements are swapped in place without using additional temporary storage. It also exhibits a good performance when dealing with a small list. Because it is an in-place sorting algorithm, no additional temporary storage is required beyond what is needed to hold the original list. Its performance is easily influenced by the initial ordering of the items before the sorting process. It is able to deal well with a huge list of items.
VIII. APPLICATION
There are two principal applications of algorithm visualization: research and education. Potential benefits for researchers are based on expectations that algo-rithm visualization may help uncover some unknown features of algorithms. For example, one researcher used a visualization of the recursive Tower of Hanoi algo-rithm in which odd- and even-numbered disks were colored in two different colors. He noticed that two disks of the same color never came in direct contact during the algorithm’s execution. This observation helped him in developing a better non-recursive version of the classic algorithm. To give another example, Bentley and McIlroy [Ben93] mentioned using an algorithm animation system in their work on improving a library implementation of a leading sorting algorithm. The application of algorithm visualization to education seeks to help students learning algorithms. The available evidence of its effectiveness is decisively mixed. Although some experiments did register positive learning outcomes, others failed to do so. The increasing body of evidence indicates that creating sophisticated software systems is not going to be enough. In fact, it appears that the level of student involvement with visualization might be more important than specific features of visualization software. In some experiments, low-tech visualizations prepared by students were more effective than passive exposure to sophisticated software systems.
IX. RESULT
App-based sorting Algorithm Visualizer, is the app based application to access the user need to login to application for which user need to register first.
After login successfully home page as shown the fig below
In home page at the left-hand side there is a search box (as shown in fig) through which the user can search the searching or sorting technique which the user wants to see or learn.
After select particular sorting or searching technique user visit information page of their selected technique (there is the information like definition, algorithm, program or code is available for the user) After visiting information page user need to click go to algorithm and user reach the visualization module, there is the option to generate a new array or to see visualization or sorting on the existing one (as shown in the fig below)
Then click on the sort button, the sorting of array get started and the user can see the entire process of the sorting/searching of the particular technique (which the user chooses) in the visual form hence we had given the name to this application as Visualizer.
After completion of the process (sorting the unsorted array) the time complexity or the amount of the time required by particular technique to complete the process (sort the array) is displayed with the sorted array.
X. FUTURE SCOPE
A new modern Algorithm Visualizer for various sorting and searching algorithms is presented with its implementation and features in detail. It describes the need for an algorithm visualizer and compares AlgoViz with various popular and efficient Algorithm Visualizers. It states the important features that every AV should implement in order to create an effective Algorithm Visualizer. This paper details why a complete web-based simulation software is built instead of classic desktop software based upon Java language or a web-based with Java applets. AlgoViz can have more features which can enhance the learning of algorithms even better. We can also customize the data as well as add more sorting and searching algorithms to enhance the software reliability. More features i.e., greedy and dynamic programming algorithms, can also add there. AlgoViz can be more responsive for devices with smaller screen sizes.
The project titled “App based sorting algorithm visualizer”, has been completed. The system has been designed with great care and error-free, while still being effective and time-saving. This platform as well as practical experiences with the system we believe helps to improve the education quality in the stream and contribute to the solution for some of the problems in higher education. However, a strong mindset helps us to research and generate animation to improve learning in the classroom. Hence, from this project we can easily understand the working of sorting and searching through their geometric graphical visualization or representation and their explanation. It is easy to know all sorts and search and also effectively beneficial and efficient. Our intentions here include development of new plug-in modules from the area of sorting algorithms and more complex data structure. In the present the data which we have stored in the database in the form of audio and written in the future we will see the stored data on the side of the information page. Need to give more thought on how to optimize the code so that it can work with multiple people using it. Users can split the screen in which half of the screen will show the visualization of sorting and the other half will show the code of particular sorting and as well as searching.
[1] Barnini Goswami, Anushka Dhar, Akash Gupta, Antriksh Gupta, “Algorithm Visualizer” International Research Journal of Mordernization in Engineering Technology and Science Volume 3 Issue 03 March 2021. [2] Clifford A. Shaffer, Matthew L. Cooper, Alexander Joel D. Alon, Monika Akbar, Michael Stewart, Sean Ponce and Stephen H. Edwardsacm ,” Algorithm VisualizationThe State” of the Field by Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010. [3] R. Kanehisa and A. Neto, “Firearm Detection using Convolutional Neural Networks,” Proceedings of the 11th International Conference on Agents and Artificial Intelligence, vol.2, pp. 707–714, 2019. [4] Radoslav Mavrevski, Metodi Traykov, Ivan Trenchev, “Finding the shortest path in a graph and its visualization using C# and WPF” by International Journal of Computers, ISSN: 2367-8895, Volume 5, 2020. [5] John Domingue. Software visualization and education. In Stephan Diehl, editor, Software Visualization: International Seminar, pages 205–212, Dagstuhl, Germany, 2002. Springer. [6] Ville Karavirta, Ari Korhonen, Jussi Nikander, and Petri Tenhunen. Effffortless creation of algorithm visualization. In Proceedings of the Second Annual Finnish / Baltic Sea Conference on Computer Science Education, pages 52–56, October 2002. [7] Jyrki Haajanen, Mikael Pesonius, Erkki Sutinen, Jorma Tarhio, Tommi Ter¨asvirta, and Pekka Vanninen. Animation of user algorithms on the Web. In Proceedings of Symposium on Visual Languages, pages 360–367, Isle of Capri, Italy, 1997.IEEE.
Copyright © 2023 Prof. Abhijeet Thakare, Naziya Siddiqui, Kalyani Dhoke. 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 : IJRASET50207
Publish Date : 2023-04-08
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here