91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8.54MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-10
  • 語言: C/C++
  • 標簽: C++??GN??

資源簡介

可以直接使用的C++實現GN算法,親測有效,如有疑問,請各位私聊。

資源截圖

代碼片段和文件信息

#include?“MyGN.h“
#include?

int?main(){

int?ij;
vector?vec_relationship;//記錄有鏈接的邊。
int?max=0;//這個是max是點的個數

//從文件input.txt讀數據
FILE?*f_input?=?fopen(“input.txt“?“r“);
char?*s?=?(char*)malloc(20);
//char?*c;

if?(f_input?!=?NULL)
{
fgets(s?100?f_input);

int?i?=?0;

for?(i?=?0;?s[i]?!=?‘-‘;?i++)
{
max?=?10?*?max?+?s[i]?-?48;
}

while?(feof(f_input)?==?0)
{
fgets(s?100?f_input);

int?m?=?0;
int?n?=?0;

for?(i?=?0;?s[i]?!=?‘:‘;?i++)
{
m?=?10?*?m?+?s[i]?-?48;
}
for?(i?=?i?+?1;?s[i]?!=?‘-‘;?i++)
{
n?=?10?*?n?+?s[i]?-?48;
}

V_side?v_sd(m-1?n-1?1);
vec_relationship.push_back(v_sd);
}

}

fclose(f_input);

int?*r_sign?=?new?int[max];//記錄矩陣中行號為i的元素(邊)在vec_relationship?中出現的首索引
//r_sign數組先統一賦值為-1
for(i?=?0;?i? {
r_sign[i]?=?-1;
}

GN_use::v_order(&vec_relationship?r_sign?max);//對vec_relationship中的內容進行排序整理

//下面是GN算法的實現

//當Q值最大時,Q_i存放數組result_temp[][]中對應的行號i,以便在輸出結果的時候容易找到。
int?Q_i=0;
//result_temp_i是在存儲各種Q值下分裂得到各個點的社團隸屬情況要用到的行號下標變量,也就是數組result_temp[][]的行號下標,最后一次的分裂情況下的行號記錄在result_temp_i中。
int?result_temp_i=0;
//vec_result_temp數組每行下標0到max-1的是存放每個點隸屬的集團號,存放每種Q?值下的分裂情況,每行對應一種情況,元素vec_result_temp.Q存放對應的Q值,
vector?vec_result_temp;?
//vec_V_remove_belong數組用來存放每次去除介數最大的邊的隸屬情況,比如v(ij)是在分裂為兩個集團時去除的,則vec_V_remove_belong.x=i-1vec_V_remove_belong.x=j-1,若是
//分裂為三個集團時去除的,則vec_V_remove_belong.belong_clique值為3
vector?vec_V_remove_belong;
//若原始網絡本身就是由幾個孤立的社團構成的,original_community_alones+2是記錄原始網絡的孤立社團數目,
//在vec_result_temp數組中,0到original_community_alones-1的行號記錄的是原始網絡中的社團檢測情況。從行號為original_community_alones記錄的是由于去除最大介數邊的分裂情況。
int?original_community_alones=0;

MyGN?GN_DEAL(0);

GN_DEAL.GN_deal(&vec_relationshipr_signmax&vec_result_temp?&vec_V_remove_belong);//GN算法的入口函數

original_community_alones=GN_DEAL.get_original_community_alones();
Q_i=GN_DEAL.get_Q_i();
result_temp_i=GN_DEAL.get_result_temp_i();

//如果原始網絡時由幾個孤立社團構成,要輸出
//若原始網絡本來是由幾個孤立的社團組成的,要弄清楚,所求的社團數目是original_community_alones+1,因為original_community_alones的下標是從1開始的

int?k3out_temp=0;
if(original_community_alones!=0){

printf(“原始網絡是由%d個孤立的社團構成的:\n“original_community_alones+1);

for(j=0;?j printf(“\n集團%d:“(j+1));
for(k3=0;?k3 out_temp?=?vec_result_temp.at(original_community_alones-1).point_belong_to[k3];
if(out_temp==j){
printf(“%d??“k3+1);
}
}

}
}
else{
for(int?r_t?=?0;?r_t? for(int?c_t?=?r_t+1;?c_t? GN_use::find_vec_index(r_t?c_t?r_sign?&vec_relationship);//int?position?=?GN_use.position_find(r_tc_t);
}

printf(“\n原始網絡為:“);

for(i=0;?i printf(“%d??“i+1);
}

printf(“\n\n“);
}

//最后把分裂的最佳情況輸出,注意Q_i的下標是從0開始的。
//注意分

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-05?14:05??GN算法\
?????目錄???????????0??2019-01-05?13:12??GN算法\.vs\
?????目錄???????????0??2019-01-05?13:12??GN算法\.vs\GN\
?????目錄???????????0??2019-01-05?13:14??GN算法\.vs\GN\v15\
?????文件???????53760??2019-01-05?14:05??GN算法\.vs\GN\v15\.suo
?????文件?????4513792??2019-01-05?14:05??GN算法\.vs\GN\v15\Browse.VC.db
?????目錄???????????0??2019-01-05?13:13??GN算法\.vs\GN\v15\ipch\
?????目錄???????????0??2019-01-05?13:14??GN算法\.vs\GN\v15\ipch\AutoPCH\
?????目錄???????????0??2019-01-05?14:04??GN算法\.vs\GN\v15\ipch\AutoPCH\3f3270e5cf1ad30f\
?????文件????24510464??2019-01-05?14:04??GN算法\.vs\GN\v15\ipch\AutoPCH\3f3270e5cf1ad30f\TEST.ipch
?????目錄???????????0??2019-01-05?13:12??GN算法\Backup\
?????目錄???????????0??2019-01-05?13:14??GN算法\Backup1\
?????文件????????1062??2019-01-05?13:14??GN算法\Backup1\GN.sln
?????目錄???????????0??2019-01-05?14:05??GN算法\Debug\
?????文件??????986112??2019-01-05?14:05??GN算法\Debug\GN.bsc
?????文件????????1539??2019-01-05?14:04??GN算法\Debug\GN.Build.CppClean.log
?????文件??????953344??2019-01-05?14:05??GN算法\Debug\GN.exe
?????文件?????2566100??2019-01-05?14:05??GN算法\Debug\GN.ilk
?????文件????????1713??2019-01-05?14:05??GN算法\Debug\GN.log
?????文件?????8474624??2019-01-05?14:05??GN算法\Debug\GN.pdb
?????目錄???????????0??2019-01-05?14:05??GN算法\Debug\GN.tlog\
?????文件?????????192??2019-01-05?14:05??GN算法\Debug\GN.tlog\bscmake.command.1.tlog
?????文件?????????356??2019-01-05?14:05??GN算法\Debug\GN.tlog\bscmake.read.1.tlog
?????文件?????????196??2019-01-05?14:05??GN算法\Debug\GN.tlog\bscmake.write.1.tlog
?????文件?????????718??2019-01-05?14:05??GN算法\Debug\GN.tlog\CL.command.1.tlog
?????文件????????9440??2019-01-05?14:05??GN算法\Debug\GN.tlog\CL.read.1.tlog
?????文件?????????486??2019-01-05?14:05??GN算法\Debug\GN.tlog\CL.write.1.tlog
?????文件?????????236??2019-01-05?14:05??GN算法\Debug\GN.tlog\GN.lastbuildstate
?????文件?????????960??2019-01-05?14:05??GN算法\Debug\GN.tlog\link.command.1.tlog
?????文件????????2290??2019-01-05?14:05??GN算法\Debug\GN.tlog\link.read.1.tlog
?????文件?????????384??2019-01-05?14:05??GN算法\Debug\GN.tlog\link.write.1.tlog
............此處省略24個文件信息

評論

共有 條評論