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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy