Skip to content

MightyArty/Ex2_Graphs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub contributors GitHub commit activity

Autores: David Yosopov, Tom Shabalin and Lior Patael

This is a graph algorithm in Java

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

Node class

Represent the NodeData functions (key,location,getWeight,setWeight...)

Location class

Represent the GeoLocation functions (distance,getX,getY,getZ)

Edata class

Represent the EdgeData functions (getSrc,getDest,getWeight,getInfo)

DWGraph class

Represent the DirectedWeightedGraph functions (getNode,getEdge,addNode,connect,node/edgeIter...)

DWGraphAlgorithm

Represent the DirectedWeightedGraphAlgorithms functions (init,copy,isConnected,shortestPathDist,center...)

We used this algorithms in order to complete the task

GUI class :

This class represent the GUI running simulator for our algorithem.
CLICK HERE

(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.

Algorithms Results

We've checked the results of our main algorithms through the test classes (using Junit)

About

Third OOP Project (in java)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages