-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlistComponents.h
More file actions
27 lines (18 loc) · 1.24 KB
/
listComponents.h
File metadata and controls
27 lines (18 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef LIST_COMPONENTS_H_
#define LIST_COMPONENTS_H_
#include "graph.h"
void markConnectedComponent(struct Vertex *v, int component);
int getAndMarkConnectedComponents(struct Graph* g);
struct Graph* listConnectedComponents(struct Graph* g, struct GraphPool* gp);
int getNumberOfBridges(struct Graph* g, struct ShallowGraphPool* sgp);
int getNumberOfBridgeTrees(struct Graph* g, struct ShallowGraphPool* sgp, struct GraphPool* gp);
int getNumberOfBlocks(struct Graph* g, struct ShallowGraphPool* sgp);
int getNumberOfBiconnectedComponents(struct Graph* g, struct ShallowGraphPool* sgp);
int getMaxNumberOfBlocksPerComponent(struct Graph* g, struct GraphPool* gp, struct ShallowGraphPool* sgp);
int* computeBlockDegrees(struct ShallowGraph* biconnectedComponents, int n);
int* computeCriticality(struct ShallowGraph* biconnectedComponents, int n);
int getMaxBlockDegree(struct Graph* g, struct ShallowGraphPool* sgp);
int getMinBlockDegree(struct Graph* g, struct ShallowGraphPool* sgp);
struct Graph* partitionIntoForestAndCycles(struct ShallowGraph* list, struct Graph* original, struct GraphPool* p, struct ShallowGraphPool* gp);
struct ShallowGraph* listBiconnectedComponents(struct Graph* g, struct ShallowGraphPool* gp);
#endif /* LIST_COMPONENTS_H_ */