directed weighted graph implement same like ex2 Graph The TASK compares between python and java graphs.
About the classes:
init(self): Init this graph
v_size(): Returns the number of nodes in this graph.
e_size(): Returns the number of edges in this graph
all_in_edges_of_node - return a dictionary of all the nodes connected to into node_id, each node is Pair (key, weight).
all_out_edges_of_node - return a dictionary of all the nodes connected from node_id, each node is Pair (key, weight).
get_mc() - MC is count of the changes on graph.
add_edge() - Adds an edge to the graph.
remove_node() - Removes a node from the graph
remove_edge() - Removes an edge from the graph
init () - init the graph.
get_graph() - return the graph
load_from_json() - Loads a graph from a json file.
save_to_json - save a graph to a json file.
Shortest_path() - Returns the shortest path between two nodes id1 to id2.
connected_component() - Finds the Strongly Connected Component that node id1 is a part of.
plot_graph() - Plots the graph.