📄 b-a 小世界网络 java生成代码.txt
字号:
?private static void createBAlikeNetwork(){
??int m0 = 2;
??int idCount = 0;//specify new peer's id, MUST peers[k].id == k.
??//STEP1: create m0 disconnected peers
??for(int i=0; i<m0; i++){
???peers[idCount] = new RipplePeer(idCount);//here idCount == i
???idCount++;
??}
??
??//STEP2: create a new peer and connect to above peers
??peers[idCount] = new RipplePeer(idCount);??
??for(int i=0; i<m0; i++){
???peers[idCount].addNbr(peers[idCount-m0+i].peerID);//set new peer's nbrs
???peers[idCount-m0+i].addNbr(idCount);//set above peers's nbr
??}
??idCount++;
??
??//STEP3: start recursion
??//record used peers to choose different m0 nbrs for new peer in process below
??LinkedList<Integer> usedPeerList = new LinkedList<Integer>();
??while(idCount!=onlinePeerSum){
???//create a new peer
???peers[idCount] = new RipplePeer(idCount);
???for(int i=0; i<m0; i++){//create m0 nbrs for this peer and thus its degree is m0
????//randomly choose a peer to connect
????int toConnect = (int)(Math.random()*idCount);
????while(usedPeerList.contains(new Integer(toConnect))){//got a used one
?????toConnect = (int)(Math.random()*idCount);
????}
????usedPeerList.add(new Integer(toConnect));
????peers[toConnect].addNbr(idCount);
????peers[idCount].addNbr(toConnect);
???}???
???usedPeerList.clear();
???idCount++;
??}
?}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -