Skip to content

AlgoWiz is a Multi-Platform Application that allows users to Visualize various Data Structures and Algorithms. Data Structures included: Including Linked List, Stack, Queues, Tree, Graphs, etc. Algorithms includes: Breadth-First Search, Depth-First Search, Pre, Post, In, and Level-order Traversal(for Trees), Djikstra Shortest Path Algorithm, Pri…

License

Notifications You must be signed in to change notification settings

Akbonline/AlgoWiz-Data-Structures-and-Algorithm-Visualizers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlgoWiz-Data-Structures-and-Algorithm-Visualizers

AlgoWiz is a Multi-Platform Application that allows users to Visualize various Data Structures and Algorithms. Data Structures included: Including Linked List, Stack, Queues, Tree, Graphs, etc. Algorithms includes: Breadth-First Search, Depth-First Search, Pre, Post, In, and Level-order Traversal(for Trees), Djikstra Shortest Path Algorithm, Prim's and Kruskal's Minimum Spanning tree Algorithm, etc.

1. Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

2. Prerequisites

The Project is already packed and encrytped to include all the dependencies/prerequisites for the ease of setup and usage. After extracting the file, users will find the following items:

  • AlgoWiz: The main application file to deploy/run the program. Open the file to run the application
  • images: Contains the images used in the application
  • source: Contains the source python code for the application
  • pycache: Includes bytecode header files and library dependencies for the program

Deployment

The first screen of AlgoWiz comprises of two options: Tree Algorithms and Graph Algorithms.

3. Tree Algorithms

Here you can generate complete binary trees and perform various algorithms on it. Users should follow the following steps to visualize:

  1. Number of nodes/vertices in the Tree
  2. Number to search in the tree
  3. Click on the "Create" Button to Generate the graph
  4. Select from the list of Algorithms to perform on the Tree to visualize.

These includes:

  • In-order Traversal
  • Pre-order Traversal
  • Post-order Traversal
  • Breadth First Search
  • Depth First Search
  • Level Order Search
Note: If there is no number entered in the search field, AlgoWiz would traverse the entire tree.

4. Custom Data Structures and Algorithms

With Algowiz, you can also create Custom Data Structures.

4.1. Generating Custom Data Structures

Users can create their own custom Data Structure by providing the following input in the Text Area: Graph with one Node/Vertex 'vertex1' , with weight 'weight1':

                      {vertex 1: {'weight': weight 1}}

Graph with Multiple Nodes/Vertices 'vertex 1', vertex 2',...'vertex n', with weights 'weight 1', 'weight 2',..., 'weight n':

            {vertex1: {vertex2: {'weight' : weight1}}, {vertex3: {'weight' : weight2}}}

With this notation, users can find various data structures. These include:

  • Singly-Linked List

  • Doubly-Linked List

  • Stacks

  • Queues

  • Trees

  • Graphs

4.2. Visualing Random Graphs:

Users can also create random Graphs by giving and perform various algorithms on it. Users should follow the following steps to visualize:

  1. Number of nodes/vertices in the Graph
  2. Number to search in the Graph
  3. Click on the "Create" Button to Generate the graph
  4. Select from the list of Algorithms to perform on the Graph to visualize.

These includes:

  • Breadth First Search
  • Depth First Search
  • Level Order Search
  • Prim's Minimum Spanning Tree
  • Kruskal's Minimum Spanning Tree
  • Djikstra's Shortest Path Finding between Start and End Node
Note: If there is no number entered in the search field, AlgoWiz would traverse the entire Data Structure.

Built With

Contributing

Feel Free to contact me at [email protected] (Or just comment on my blogpost at: https://akbexpo.blogspot.com/2020/05/data-structures-and-algorithms.html) for any kind of comments, feedback, queries, explanations, critics, etc. Do checkout my other projects at http://akbexpo.blogspot.com/ I would love to hear from y'all!

TODO:

  • Improve the Latency: Packaging through pyinstaller is kinda sucky...
  • Make a better OOP model
  • Fix Switching Issues
  • Adding more algorithms to it: Binary & Linear Search/ Sorting Algorithms

Author

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • To all the amazing opensource library contributers, who have a huge hand in driving the technology innovation force forward
  • Almighty Google and Lord Quora, Stackoverflow and Reddit

About

AlgoWiz is a Multi-Platform Application that allows users to Visualize various Data Structures and Algorithms. Data Structures included: Including Linked List, Stack, Queues, Tree, Graphs, etc. Algorithms includes: Breadth-First Search, Depth-First Search, Pre, Post, In, and Level-order Traversal(for Trees), Djikstra Shortest Path Algorithm, Pri…

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published