annotate louvain/graph.h @ 5:7e55ef6f9a05 draft

Uploaded
author petrn
date Fri, 20 Dec 2019 12:45:18 +0000
parents f6ebec6e235e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
1 // File: graph.h
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
2 // -- simple graph handling header file
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
3 //-----------------------------------------------------------------------------
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
4 // Community detection
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
5 // Based on the article "Fast unfolding of community hierarchies in large networks"
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
6 // Copyright (C) 2008 V. Blondel, J.-L. Guillaume, R. Lambiotte, E. Lefebvre
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
7 //
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
8 // This program must not be distributed without agreement of the above mentionned authors.
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
9 //-----------------------------------------------------------------------------
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
10 // Author : E. Lefebvre, adapted by J.-L. Guillaume
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
11 // Email : jean-loup.guillaume@lip6.fr
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
12 // Location : Paris, France
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
13 // Time : February 2008
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
14 //-----------------------------------------------------------------------------
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
15 // see readme.txt for more details
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
16
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
17 #ifndef GRAPH_H
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
18 #define GRAPH_H
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
19
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
20 #include <stdlib.h>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
21 #include <stdio.h>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
22 #include <iostream>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
23 #include <iomanip>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
24 #include <fstream>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
25 #include <vector>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
26 #include <map>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
27 #include <set>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
28 #include <algorithm>
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
29
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
30 #define WEIGHTED 0
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
31 #define UNWEIGHTED 1
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
32
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
33 using namespace std;
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
34
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
35 class Graph {
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
36 public:
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
37 vector<vector<pair<int,float> > > links;
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
38
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
39 Graph (char *filename, int type);
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
40
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
41 void clean(int type);
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
42 void renumber(int type);
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
43 void display(int type);
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
44 void display_binary(char *filename, char *filename_w, int type);
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
45 };
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
46
f6ebec6e235e Uploaded
petrn
parents:
diff changeset
47 #endif // GRAPH_H