Skip to content

A small educational visualisation tool for different algorithms using pygame

License

Notifications You must be signed in to change notification settings

JackMilner1/AlgoVision

Repository files navigation

AlgoVision

Developed by Jack Milner

"Buy Me A Coffee"

gif

Supported Platforms

  • Windows
  • Mac
  • Linux

Background

AlgoVision is a small tool used for visualising different data structures and algorithms to give the user a better understanding of important computer science topics. This is an educational tool, having simple yet effective graphics that could make an important resource for teaching A-Level, University and beyond in the professional field to learn how these common data structures can be used and visualise their effectiveness.

Prerequisites

To be able to run this project you may need to install two pygame onto your pc if you don't have this already.

To install, navigate to your terminal in your chosen IDE (Visual Studio Code) and type the following:

pip3 install pygame

Features

This project currently supports the following:

Graphs

  • Un-Weighted graphs ✅
  • Weighted graphs ✅
  • A graph building tool ✅

Queues

  • Priority queues ✅
  • Circular queues
  • FIFO queue
  • LIFO queue (Stack) ✅

Common datastructures

  • Linked Lists
  • Tree ✅
  • Binary Tree ✅

Sorts

  • Bubble sort ✅
  • Merge sort
  • Quicksort

Searching

  • Linear search ✅
  • Binary Search ✅
  • Djikstras ✅
  • A*

Traversals

  • Pre-order traversal
  • Post-order traversal
  • In-order traversal

Maze generation

  • Stack implementation ✅
  • Recursive division

Future Ambitions

  • Complete v1.0.0 of the project