Skip to content

Latest commit

 

History

History
102 lines (68 loc) · 6.68 KB

README.md

File metadata and controls

102 lines (68 loc) · 6.68 KB

Algorithm-Visualizer 👁️‍🗨️

😄 Welcome!! Algorithm Visualizer is an interactive platform that visualizes algorithms from code.


You can Download the application - LINK

Other Visualizer Link -

All about Algorithm-Visualizer

Algorithm Visualizer is an application made particularly for students to have a better understanding of algorithms. It helps in grasping the working of algorithms at an ease. The collection of Algorithms it has included are Searching, Sorting, PathFinding, Graphs/Trees, N-Queen, KMP, and Markov-Chain, all in all, a package with most of it. It develops a perception in the mind of the students as to how things are processing at the back-end of a particular task. Students interested in Technology can comprehend it and can have a better insight into such lessons which are studied at an early stage of college and can excel in it. It contains a whole lot of data structures like arrays, graphs, trees, strings, and much more. As it has been always a case that a student can learn better when they start visualizing things so this application brings all these things handy to you as you can change the sizes of data structures and can control the speed of working of algorithms and can play with it as long as you want and can be become brilliant in it.

APPLICATION DISPLAY 👀

The Set of Algorithms it has are:-

Searching Visualizer:-

  • It contains Linear, Binary, Jump, Interpolation, and Exponential Search algorithms. Users can easily change the size of an array and can control the speed with which they want to visualize the algorithm. Firstly one needs to select a particular index of an array which is to be searched and then the algorithm is going to show it’s processing and find that particular element.

Sorting Visualizer:-

  • It contains Bubble, Quick, Merge, Insertion, and Selection sorting algorithms. Users can easily change the size of an array and can control the speed with which they want to visualize the algorithm. It always sorts the array in ascending order.

Path Finding Visualizer:-

  • It contains Dijkstra, DFS, BFS, A star algorithms. In this one can easily put weights and blocks to show an uncrossable path. Speed can be controlled by the user easily. The user needs to select the starting position and the destination where he wants to visualize the path. Various colors have been used to denote the process and in the end the green color path shows the final route from starting to destination. A tutorial is also designed to guide the users in the beginning.

Graphs/Trees:-

  • Graphs/Trees:- A graph data structure consists of a finite (and possibly mutable) set of vertices (also called nodes or points), together with a set of unordered pairs of these vertices for an undirected graph or a set of ordered pairs for a directed graph. It contains features of drag and drop and gives a very convenient way for users to customize their own graph or tree. The graph contains depth First Search and breadth-first search. There is a separate area for trees, user can check the height of the tree as well as the diameter of the tree. Before processing user needs to add a starting node which will be represented in blue color node with a plus sign over it.

N-queen Visualizer-

  • In the beginning user can change the board size and start the visualization. The N Queen is the problem of placing N chess queens on an N×N chessboard so that no two queens attack each other. It is a Backtracking solution and after the processing, all the results are shown in separate activities together.

KMP algorithm:-

  • KMP (Knuth Morris Pratt) is a Pattern Searching algorithm. It takes two inputs the main string and the pattern to be searched in the main string. The speed can be controlled by the user. It uses a yellow color to show that the pattern has been found.

Markov’s-Chain algorithm:-

  • It is mostly used in Machine Learning. A tutorial has been made to guide the users through it. The user needs to give a large dataset in the training data and allow the model to wait and till then the user can visualize the steps in which prefix and suffix has been stored. Then after training the model is ready to test and one can type the words or letters in prefix and the suggestions of next words or current words will be shown in the suggestion box, same as we see while using a keyboard.

YOUTUBE LINK:-

Getting Started 👍

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

Things you need to install this mobile aplication->
1. Android Mobile
That's it!

Installing

A step by step series of examples that tell you how to get a development env running

Say what the step will be

You can Download the application using below link-
https://play.google.com/store/apps/details?id=com.thelazypeople.algorithmvisualizer

Built With 💓

  • Android Studio
  • Kotlin

Contributing

All kinds of contribution 😍 are welcomed.

Authors