实验环境
我用的是Anaconda 自带的Spyder编辑器,python3.8
此算法在上一篇算法复杂网络——随机网络ER的构造C++实现及测试的基础上用python重写了,在编写过程中发现python对数组的初始化非常方便,仅用np.zeros()函数就可以生成,而C++要用双层for循环才可以。在这里我默认系统资源非常充足,就未对内存申请失败进行判断,实际上在测试时节点数1000就报错内存不足。但是算法的整体框架都是对的,用了一个晚上写好的,早上来实验室修改了几处小错误。
友情提醒:如果import包的内容报错,请自行百度下载相应的包头,除此之外正常运行不会出错的。
代码使用方法:打开Python编辑器,复制导入,测试成功的话可以看到输出的ER网络以及代码所在位置写入成功的两个文件。
实验代码
代码流程部分在上一篇中已经介绍的比较细致了,这里不再赘述。 不同的是将C++中write2File_degreedistribut()函数直接写入clalulateDegreeDistribution()函数中(本来是分开写的,但在传形参的时候出现了数组下标越界的问题,没有