As of now the graph abstraction in STGraph has the following "base" classes
STGraphBase
StaticGraph
DynamicGraph
StaticGraphand DynamicGraph inherits from STGraphBase. Whereas NaiveGraph, PCSRGraph and GPMAGraph inherits from DynamicGraphs.
However StaticGraph is not entirely serving the purpose of a base class, since we are using CSR within the class and implementing the graph class.
Solution
A solution would be to create a class named CSRGraph that inherits from StaticGraph. This also enables StaticGraph to act as a base class allowing us to implement more types of static graph classes such as CSRGraph in the future
As of now the graph abstraction in STGraph has the following "base" classes
STGraphBaseStaticGraphDynamicGraphStaticGraphandDynamicGraphinherits fromSTGraphBase. WhereasNaiveGraph,PCSRGraphandGPMAGraphinherits from DynamicGraphs.However
StaticGraphis not entirely serving the purpose of a base class, since we are using CSR within the class and implementing the graph class.Solution
A solution would be to create a class named
CSRGraphthat inherits fromStaticGraph. This also enablesStaticGraphto act as a base class allowing us to implement more types of static graph classes such asCSRGraphin the future