IMPORTANT NOTE FOR THE CODE CHECKER : our project unfortunately isn't complete , and we had to submit it as it is , we would be more than greatful if you do a manual check #on or code , that would be really appreciated
-
in the first part of this assignment we modified the classes to become compatible with the concept of directed graph, in other words we slightly modified the algorithms in isconnected(), shortestPath() & shortestPathDest()we didn't need to work hard on the modifications since in the very first assignment (Ex0) our graph was compatible with directed manner a single edge would appear in both enteries of the source node and the destination node in our m_Edges hashmap
-
regrading the tests we modified the tests to be also compatible with the concept of directed-weighted-graph :
- DWGraph_AlgoTest
- DWGraph_DSTest
- in WDGraph_DS we used 3 hashmaps :
- vertices hashmap(hashmap <Integer,NodeData>)
- Edges hashmap(hashmap <Integer,Hashmap<Integer,EdgeData>>)
- Neighbors hashmap (hashmap < Integer,ArrayList ) (for the purposes of optimization when removing a node out of the graph so we can get instant access to it's neighbors pointers, this things saves us from traversing in the graph so we can find each Node's neighbors)
-
regarding the Graphical User Interface that was semi-made, we worked on fixing it and customizing it with the help of Java Swing library
-
when it comes to placing Agents in the graph to collect the Rewards , we achieved it with the help of shortest path algorithm from different Nodes and placed number of agents in arbitrary close point to the reward. with the respect of not spawning more than 1 agent on the same edge
-
javaTpoint
-
Baeldung
Contributed by:
- Abed El Kareem Massarweh
- Nour Bsoul