Skip to content

quinnshim2021/Graph-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph-Algorithms

Allows users to create graphs and run a variety of algorithms on their graphs. Graphs are classes in node.py and represent edges with defaultdictionary. Algorithms were implemented myself and are based on the design of Graph. Users may create their own graph and view it. Graphs may be directed or undirected, weighted or unweighted.

Algorithms:

  • Floyd's Cycle Determining/Locating Algorithm
  • Breadth-First Traversal
  • Depth-First Traversal
  • Algorithm to determine whether graph is Binary Tree or Binary Search Tree or not (currently buggy)
  • Prim's Minimum Spanning Tree Algorithm

Running Code

Dependencies: matplotlib, networkx. Python3 is required. Run python3 main.py.

Future Changes

  • Bug fixes (BT/BST)
  • Add more algorithms (path finding, flow).
  • Create into web app for easier accessibility and cleaner UI.
  • Add visualization of algorithms so that user can see what is happening during each step of the algorithm.