研究文章
一种新的算法及其应用在检测由两部分构成的复杂网络的社区
|
输入:两偶图的矩阵的关系
。 |
|
输出:最初的社区。 |
| (1) |
开始 |
| (2) |
/ /步骤1:得到邻节点序列。 |
| (3) |
为
做 |
| (4) |
计算相邻节点序列
。 |
| (5) |
让是所有相邻节点序列的集合,也就是说,
。 |
| (6) |
结束了 |
| (7) |
|
| (8) |
步骤2:邻节点序列融入一个链表,以促进建立一个广义后缀树。 |
| (9) |
创建一个节点类有两个属性,和
。 |
| (10) |
为
做 |
| (11) |
转换来
。 |
| (12) |
结束了 |
| (13) |
创建一个后缀显示链表节点链表: |
| (14) |
为
做 |
| (15) |
把每一个来
。 |
| (16) |
结束了 |
| (17) |
|
| (18) |
步骤3:建立广义后缀树根据相邻节点的链表序列。 |
| (19) |
创建一个类有两个属性,和
。由于广义后缀树的子节点的数量还不确定,是一个数组的
,商店所有的子节点。 |
| (20) |
节点是空节点。 |
| (21) |
将所有相邻节点的链表顺序插入广义后缀树,这个过程是: |
| (22) |
为
做 |
| (23) |
|
| (24) |
而
做 |
| (25) |
如果
然后 |
| (26) |
插入链表到节点。 |
| (27) |
其他的 |
| (28) |
;
。 |
| (29) |
如果 |
| (30) |
结束时 |
| (31) |
结束了 |
| (32) |
|
| (33) |
步骤4:通过广义后缀树得到双方的派系。 |
| (34) |
为
做 |
| (35) |
如果
是一个叶节点,
,或是一个分支节点,然后 |
| (36) |
创建由两部分构成的集团
。 |
| (37) |
如果 |
| (38) |
结束了 |
| (39) |
|
| (40) |
/ /第五步:调整双方的派系。 |
| (41) |
|
| (42) |
/ /第六步:合并双方的派系形成最初的社区。 |
| (43) |
而真正的做 |
| (44) |
计算双方的派系的紧张:
。 |
| (45) |
如果
然后 |
| (46) |
合并双方的派系。 |
| (47) |
如果 |
| (48) |
结束时 |
| (49) |
|
| (50) |
第七步:调整孤立的边缘,进行社区。 |
| (51) |
以孤立的边缘为一式两份的派系,计算出紧张
。 |
| (52) |
把孤立的边缘社区最高的紧张。 |
| (53) |
结束 |
|