NAME gcfnd - greedy community finding algorithm based on modularity maximization INDEX NAME SYNOPSIS DESCRIPTION DOWNLOAD SEE ALSO AUTHORS SYNOPSIS #include "gcfnd.h" void gcfnd(int nv, edge *elst, int ne, int *cid, int *cnb, double *Q); DESCRIPTION The gcfnd() function implements a community finding greedy algorithm based on modularity maximization. This algorithm was proposed by Newman and further improved by Clauset et al.. In the current implementation we use different data structures and achieve an improvement of at least a factor of 2 both in time and space. We also implement a prioritizer suggested by Noack and Rotta. gcfnd function computes a community partition for an undirected graph with nv vertices and ne edges, being elst the list of edges. The edge type is defined in gcfnd.h as follows: typedef struct { int u; int v; } edge; gcfnd returns no value. It stores the number of communities in cnb, the maximum achieved modularity in Q and, assuming that communities are numbered from 0 to cnb - 1, it stores in the pre-allocated array cid of size nv the community for each vertex. DOWNLOAD Source code is available. Files included: gcfnd.h Implementation of the function gcfnd. gcfnd.c pqueue.h Priority queue implementation based on binary heaps. pqueue.c unfnd.h Disjoint-set data structure implementation. unfnd.c cfind.c Simple application using gcfnd. Makefile Makefile to build cfind application. cfind reads a graph from stdin and assumes the following format: <number of vertices> <number of edges> <edge 1 vertex 1> <edge 1 vertex 2> ... Vertices must be numbered from 0 to number of vertices minus one. Input example: 7 10 0 1 1 2 2 0 2 3 3 4 4 5 5 6 6 3 4 6 3 5 SEE ALSO A. P. Francisco and A. L. Oliveira. On community detection in very large networks. In Complex Networks, volume 116 of CCIS, pages 208-216. Springer, 2010. A. Noack and R. Rotta. Multi-level algorithms for modularity clustering. In: Experimental Algorithms, volume 5526 of LNCS, pages 257-268. Springer, 2009. A. Clauset, M. E. J. Newman, and C. Moore. Finding community structure in very large networks. Physical Review E, 70:066111, 2004. M. E. J. Newman. Fast algorithm for detecting community structure in networks. Physical Review E, 69:066133, 2004. AUTHORS Alexandre P. Francisco and Arlindo L. Oliveira, INESC-ID and IST, Technical University of Lisbon.