Research Article

A Fast Overlapping Community Detection Algorithm with Self-Correcting Ability

Algorithm 1

The redistribution algorithm for unallocated nodes.
(1)communities = getCommunities(); /* get the communities of adjacent nodes */
(2)if (communities.   then
(3) /* if the number is 1 */
(4) Add(community); /* join the community */
(5) Return;
(6)else
(7)for communities do
(8)  /* for each community */
(9)  if matchConditions then
(10)   /* judge whether node match the conditions */
(11)   Add(community); /* join community */
(12)  end  if
(13)  end  for
(14)  if averageDistribution() then
(15)  /* if it is equal istribution */
(16)  AddToAll(communities); /* join each community */
(17)  Return;
(18)end  if
(19)if noAdd then
(20)  /* if it doesn't match the above */
(21)  addMaxMembership(); /* join the community getting maximum belonging factor */
(22)end  if
(23)end  if