void TAGMUtil::GetNodeMembership(THash<TInt,TInt >& NIDComVH, const TVec<TIntV>& CmtyVV) { NIDComVH.Clr(); for (int i = 0; i < CmtyVV.Len(); i++) { int CID = i; for (int j = 0; j < CmtyVV[i].Len(); j++) { int NID = CmtyVV[i][j]; NIDComVH.AddDat(NID)++; } } }
/// get hash table of <Node ID, community IDs which node belongs to>. Some nodes in NIDV might belong to no community void TAGMUtil::GetNodeMembership(THash<TInt,TIntSet >& NIDComVH, const TVec<TIntV>& CmtyVV, const TIntV& NIDV) { NIDComVH.Clr(); for (int u = 0; u < NIDV.Len(); u++) { NIDComVH.AddDat(NIDV[u]); } for (int i = 0; i < CmtyVV.Len(); i++) { int CID = i; for (int j = 0; j < CmtyVV[i].Len(); j++) { int NID = CmtyVV[i][j]; NIDComVH.AddDat(NID).AddKey(CID); } } }