forked from awsirkis/nemoStaticLib2.1
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathESU.h
More file actions
63 lines (47 loc) · 1.64 KB
/
Copy pathESU.h
File metadata and controls
63 lines (47 loc) · 1.64 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: ESU.h
* Author: Wooyoung
*
* Created on October 25, 2017, 1:06 PM
*/
#ifndef ESU_H
#define ESU_H
#include "RandESU.h"
using std::cout;
using std::ostream;
/**
* ESU is a static class used for executing the Enumerate Subgraphs algorithm
* on a network graph.
*/
class ESU {
public:
/**
* Enumerates Subgraphs using the ESU algorithm. Requires user to specify
* return type(s) and provide the accompanying data structures.
*
* @param graph the graph on which to execute ESU
* @param subgraphs the SubgraphEnumerationResult into which to enumerated
* Subgraphs will be stored.
* @param subgraphSize the size of the target Subgraphs
*/
static void enumerate(Graph&, SubgraphEnumerationResult&, int);
/**
* Enumerates Subgraphs for one branch of the ESU tree starting at the
* given node. Allows for more control over the order the order of
* execution, but does not perform a full enumeration.
*
* @param graph the graph on which to execute ESU
* @param subgraphs the data structure to which results are written
* @param subgraphSize the target subgraph size to enumerate
* @param vertex the graph vertex at which to execute
* @param nautylink after initialize from the previous
*/
static void enumerate(Graph&, SubgraphEnumerationResult&, int, vertex, NautyLink&);
private:
};
#endif /* ESU_H */