3'd project in OOP course at Ariel Univeristy using Java. For each given Json file we'll load the data and save it in our data structure for further calculations. This project is mainly about directed graph, and it allows you to set and display a directed graph. Our project contains API folder that includes interfaces for the assignment, ALGO folder where we implemented our algorithm,TEST folder and GUI folder for demonstration purposes
Represent the NodeData functions (key,location,getWeight,setWeight...)
Represent the GeoLocation functions (distance,getX,getY,getZ)
Represent the EdgeData functions (getSrc,getDest,getWeight,getInfo)
Represent the DirectedWeightedGraph functions (getNode,getEdge,addNode,connect,node/edgeIter...)
Represent the DirectedWeightedGraphAlgorithms functions (init,copy,isConnected,shortestPathDist,center...)
- Graph Center
- Travelling salesman problem
- Shortest Path Problem
- Dijkstra's algorithm
- Floyd Warshall algorithm
This class represent the GUI running simulator for our algorithem.
(Click on the image to load the vdeio)This video shows how to load the jar file that we've made using termminal ( java -jar FILENAME.jar JSONFILENAME.json) although you can run the jar file directly from the folder / from the IDE.
The GUI has top menu bar with several options: FILE TAB - loading from Json,saving to Json,determine the program.
EDIT TAB: adding and removing nodes and edges,deleting the graph. GRAPH TAB: tsp,isconnected,shortest path,shortest path dist and center.
We've checked the results of our main algorithms through the test classes (using Junit)