기본 알고리즘에 대한 설명은 다음과 같습니다.
1. 각 광고의 무게를 높이십시오
2. 모든 일치하는 광고의 가중치를 합계에 추가하십시오.
3. 추가 결과가 무작위 숫자 인 씨앗은 1 ~ 합 사이에 임의 숫자 RD를 생성합니다.
4. 그런 다음 모든 광고를 가로 지르면 액세스 순서가 자유롭게 방문 할 수 있습니다. rd <= sum으로 인해 위 조건까지 반환됩니다.
특별한 설명 :
이 알고리즘의 순서는 광고 순서와 관련이 없습니다.
java.util.collection; suppresswarnings ( "선택되지 않은") 공개 정적 무효 메인 (String [] args) {New ArrayList <Node> (10, test 1); = 새로운 노드 (Test 2”). arrnodes.sort.sort (node); for (int k = 0; k <20; k ++) {showmap = new linkedhashmap <string, integer> (int i = 0; i <100; i ++) {random = getrandom (sum). kw = getkw (arrnodes, random); kw, 1);} //system.out.println (i + "" + random + "" + getkw (arrnodes, random));} system.out.print (k + "" "") ;; : : : }}} public static node getKw (list <node> 노드, int rd) {node ret = null; n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : n : c urwt += n .weight; ) {ret = n;} 공개 정적 int getsum (list <node> 노드) {int sum = 0; (int) math.round (math.random () * seed);} class node int weight = 0; = wt; (kw); return sbbuilder.tostring ();} public int compart (object o1) de n1 = (노드) o1; ; 그렇지 않으면 반환 0;}}