Skip to content

A repository showcasing implementations of various algorithms, including graph algorithms (BFS, DFS, Dijkstra, Kruskal), dynamic programming solutions, and more. Designed for learning, practice, and demonstration of algorithmic problem-solving.

Notifications You must be signed in to change notification settings

NadavMozeson/Algorithms-Implementation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms Implementation

A simple and visualized method to track and understand the following algorithms.

  • BFS
  • DFS
  • Topologic Sort
  • Kosaraju-Sharir
  • Kruskal
  • Prim
  • Dijkstra
  • Bellman-Ford
  • Floyd-Warshall
  • DAG Shortest Path

Installation

Required Python version: 3.11 and above

Use pip to install the required libraries used to run the code.

Install commands for libraries:

pip install -r requirements.txt

OR

pip install networkx
pip install matplotlib
pip install tabulate

Usage

Running an Algorithm

Run the script and a GUI window will open on what algorithm you wish to run, select one from the list and press 'Next':

image

A GUI window with fields will open depending on the algorithm you chose:

image

  • Load Graph: Load a graph from a file.
  • Random/Draw: Choose if to get a random graph or if you wish to draw one.
  • Save Graph: Choose if you wish to save the graph for the next run/s.
  • More fields will show depending on other choices made.

When selecting 'Draw' a drawing page will open when selecting 'Submit'

  • Left-Click: Create a new Node
  • Right-Click: Right-click on a node and then on another node to make an edge between the nodes.
  • Save Graph: Close the draw GUI to save the graph and continue the run. image

Using Debugger

Run the code using a debugger if you wish to track the algorithms.

Graph Examples with Sources

Graphs are saved in the "Graphs" directory

About

A repository showcasing implementations of various algorithms, including graph algorithms (BFS, DFS, Dijkstra, Kruskal), dynamic programming solutions, and more. Designed for learning, practice, and demonstration of algorithmic problem-solving.

Topics

Resources

Stars

Watchers

Forks

Languages