17 vector<vector<int>> adjacencyMatrix;
27 bool hasCycleCache =
false;
32 bool hasCycleFlag =
false;
38 UNCHECKED, DIRECTED, UNDIRECTED
44 Type type = UNCHECKED;
59 bool isFreeOfLoopsCache =
false;
64 bool isFreeOfLoopsFlag =
false;
69 bool isMultigraphCache =
false;
74 bool isMultigraphFlag =
false;
79 bool isForestCache =
false;
84 bool isForestFlag =
false;
89 bool isCompleteCache =
false;
94 bool isCompleteFlag =
false;
99 bool isRegularCache =
false;
104 bool isRegularFlag =
false;
113 bool hasCycleRec(
const int i,
bool *visited,
bool *stack)
const;
123 vector<vector<int>> powerMatrix(vector<vector<int>> squareMatrix,
int exponent);
131 vector<vector<int>> getIdentityMatrix(
int size);
141 vector<vector<int>> multiplyMatrix(
const vector<vector<int>> &A,
const vector<vector<int>> &B);
151 vector<vector<int>> addMatrix(
const vector<vector<int>> &A,
const vector<vector<int>> &B);
161 vector<vector<int>> getZeroizedMatrix(
int rows,
int cols);
171 bool isSameMatrix(
const vector<vector<int>> &A,
const vector<vector<int>> &B);
179 bool isSquareMatrix(
const vector<vector<int>> &adjacencyMatrix)
const;
181 const vector<vector<int>> &getAdjacencyMatrix()
const;
186 Graph(vector<vector<int>> adjacencyMatrix);
187 Graph(vector<vector<int>> adjacencyMatrix, vector<string> node_names);
195 Graph(
string matlabMatrix);
201 int getNumberOfNodes()
const;
207 int getNumberOfEdges();
214 void exportFile(
const string fileName,
const string data)
const;
220 void exportAdjazenzmatrixFile(
const string fileName)
const;
226 string graphToJson();
240 bool hasEdge(
const int from,
const int to);
247 bool hasPath(
const vector<int> path)
const;
249 const string getAdjacencyMatrixString()
const;
266 int getInDeg(
int vertexIndex);
275 int getOutDeg(
int vertexIndex);
283 bool isFreeOfLoops();
339 bool hasConnectivity(
int s,
int t);
355 bool areNeighbours(
int from,
int to);
363 string exportDot(vector<int> path);