精品日本亚洲一区二区三区,99久久精品免费观看国产,99久久免费精品,亚洲精品国产一区二区成人,日本亚洲精品一区二区三区四区,国产亚洲精品成人久久网站,久久亚洲男人第一AV网站,精品国产高清一区二区广区,久久精品五月天很黄很艳女TV

考研論壇

 
查看: 1434|回復(fù): 21
打印 上一主題 下一主題

(Mutimedia Dr)第1次算法設(shè)計(jì)作業(yè)

[復(fù)制鏈接]

215

主題

8711

帖子

6萬

積分

論壇元老

傳說此人已不在江湖

Rank: 7Rank: 7Rank: 7

精華
16
威望
55419
K幣
5637 元
注冊(cè)時(shí)間
2010-3-5

2016年優(yōu)秀版主2015年下半年優(yōu)秀版主2015年上半年優(yōu)秀版主2014年下半年優(yōu)秀版主考研論壇2013年下半年優(yōu)秀版主考研論壇2013年上半年優(yōu)秀版主

跳轉(zhuǎn)到指定樓層
1
發(fā)表于 2012-10-31 13:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 * 于 2012-10-31 13:45 編輯


2 Stable Matching
import java.util.ArrayList;
import java.util.List;
public class StableMatch {
      privateint[][] mPref;
      privateint[][] fPref;
      privateint[] pos;//儲(chǔ)存位置
      privateint count;
      publicStableMatch()
      {
      }
      publicStableMatch(int n)
      {
             mPref= new int[n][];
             fPref= new int[n][];
             count= n;
             for(int i = 0; i < n; i++) {
                    mPref= randomIni(n);
                    fPref= randomIni(n);
             }
      }
      publicint[] randomIni(int n)
      {
             int[]result = new int[n];
             Listlist = new ArrayList(n);
             for(inti=0; i<n;i++)
             {
                    list.add(i);
             }
             for(int i = 0; i < n; i++) {
                    intindex = (int)(Math.random() * list.size());
                    result= (Integer)list.get(index);
                    list.remove(index);
             }
             returnresult;
      }
      publicstatic void main(String[] args) {
             //TODO Auto-generated method stub
             while(true)
             {
                    StableMatchsm = new StableMatch(3);
                    int[][]result = sm.doMatch(true);
                    int[][]result1 = sm.doMatch(false);
                    if(resultTest(result[0],result1[0]))
                           break;
             }
      }
      publicint[][] doMatch(boolean flag)
      {
             int[][]result = new int[2][count];
             pos= new int[count];
             for(int i = 0; i < pos.length; i++) {
                    pos= -1;
             }
             for(int i = 0; i < result.length; i++) {
                    for(int j = 0; j < result.length; j++) {
                           result[j] = -1;
                    }
             }
             //Initiallyall man, and wom are free.
             if(!flag)
             {
                    int[][]temp = fPref;
                    fPref= mPref;
                    mPref= temp;
             }
             intmcount = findFree(result);
             while(mcount!= -1)
             {
                    intmpos = mPref[mcount][++pos[mcount]]; //向第mpos個(gè)女的求婚
                    if(result[1][mpos]== -1) //第mpos個(gè)女的沒有訂婚
                    {
                           result[0][mcount]= mpos;
                           result[1][mpos]= mcount;
                           mcount= findFree(result);
                           continue;
                    }else//第mpos個(gè)女的訂婚了
                    {
                           if(!judge(mpos,mcount,result))//第mpos比當(dāng)前的好
                           {
                                  result[0][result[1][mpos]]= -1; //結(jié)束訂婚
                                  result[1][mpos]= mcount;//與mcount訂婚
                                  result[0][mcount]= mpos;//與mpos訂婚
                                  mcount= findFree(result);
                           }
                    }
             }
             returnresult;
      }
      publicint findFree(int[][] result)
      {
             intindex = -1;
             for(int i = 0; i < result[0].length; i++) {
                    if(result[0]==-1)
                    {
                           index= i;
                           break;
                    }
             }
             returnindex;
      }
      //判斷向windex求婚的人是否比當(dāng)前的男的好
      publicboolean judge(int windex,int mindex,int[][] result)
      {
             booleanflag = false;
             intcur = result[1][windex];
             for(int i = 0; i < mPref[windex].length; i++) {
                    if(cur== mPref[windex])
                    {
                           flag= false;
                           break;
                    }
                    if(mindex== mPref[windex])
                    {
                           flag= true;
                           break;
                    }
             }
             returnflag;
      }
      publicstatic boolean resultTest(int[] a,int b[])
      {
             for(int i = 0; i < a.length; i++) {
                    if(i!= b[a])
                    {
                           returnfalse;
                    }
             }
             returntrue;  }
}
對(duì)于每個(gè)事例都有file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png,是錯(cuò)誤的,舉一個(gè)反例。
男生的喜好矩陣
[[0, 1, 2], [1, 2, 0], [2, 0,1]]
女生的喜好矩陣
[[0, 1, 2], [1, 0, 2], [0, 1,2]]
男生主動(dòng)的匹配
[[1, 2, 0], [2, 0, 1]]
女生主動(dòng)的匹配
[[0, 1, 2], [0, 1, 2]]
從上可以看出男生主動(dòng)第0個(gè)男生與第1個(gè)女生匹配,而女生主動(dòng)第一個(gè)女生與第一個(gè)男生匹配因此對(duì)于每個(gè)事例都有file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png,是錯(cuò)誤的
4 Complexity Analysis
算法實(shí)現(xiàn):
public class HHindex {
    publicstatic void main(String[] args) {
       //TODO Auto-generated method stub
       Stringstr = "8,4,3,5,6,2";
       String[]temp = str.split(",");
       int[]array = new int[temp.length];
       int[]result = new int[temp.length];
       for(int i = 0; i < array.length; i++) {
           array= Integer.parseInt(temp);
           result= 1;
       }
       for(int i = 1; i < result.length; i++) {
           if(array> array[i-1])
           {
              intn = result[i-1];
              result+=result[i-1];
              while(i-1-n>=0&&array > array[i-1-n])
              {
                  result+=result[i-n];
                  n+=result[i-n];
              }
           }
       }
       System.out.println("ok!!!");
    }
}

    -------------------------------------------------------------------
    個(gè)人文章匯總
    -------------------------------------------------------------------
    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    2
    發(fā)表于 2013-4-27 16:56 | 只看該作者
    本來還好。。。看了以后突然很頭疼。。。怎么搞。。。暈。。。
    回復(fù)

    使用道具 舉報(bào)

    74

    主題

    1萬

    帖子

    5萬

    積分

    論壇元老

    [Travel拉面館]饅頭哥哥

    Rank: 7Rank: 7Rank: 7

    精華
    5
    威望
    39621
    K幣
    14450 元
    注冊(cè)時(shí)間
    2011-3-11
    3
    發(fā)表于 2013-5-15 17:00 | 只看該作者
    panda2029 發(fā)表于 2013-4-27 16:56
    本來還好。。??戳艘院笸蝗缓茴^疼。。。怎么搞。。。暈。。。

    噗。哈哈。。。。。
    我覺得還好啊。。。
    因?yàn)樯耨R都不懂╮(╯▽╰)╭
    一分一分,攢到結(jié)婚
    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    4
    發(fā)表于 2013-5-15 17:05 | 只看該作者
    可可米露 發(fā)表于 2013-5-15 17:00
    噗。哈哈。。。。。
    我覺得還好啊。。。
    因?yàn)樯耨R都不懂╮(╯▽╰)╭

    算法。。。虐人。。。我神經(jīng)衰弱了。。。

    ?中國地質(zhì)大學(xué)(武漢)?歷年真題匯總、初復(fù)試經(jīng)驗(yàn)
    越?玫瑰?越幸福

    要么讀書,要么旅行,身體和靈魂,必須有一個(gè)在路上
    聯(lián)系我:咩咩咩
    回復(fù)

    使用道具 舉報(bào)

    74

    主題

    1萬

    帖子

    5萬

    積分

    論壇元老

    [Travel拉面館]饅頭哥哥

    Rank: 7Rank: 7Rank: 7

    精華
    5
    威望
    39621
    K幣
    14450 元
    注冊(cè)時(shí)間
    2011-3-11
    5
    發(fā)表于 2013-5-15 17:08 | 只看該作者
    panda2029 發(fā)表于 2013-5-15 17:05
    算法。。。虐人。。。我神經(jīng)衰弱了。。。

    所以改行是對(duì)滴~~~


    這個(gè)算法的結(jié)果是神馬??有結(jié)果么??
    一分一分,攢到結(jié)婚
    回復(fù)

    使用道具 舉報(bào)

    74

    主題

    1萬

    帖子

    5萬

    積分

    論壇元老

    [Travel拉面館]饅頭哥哥

    Rank: 7Rank: 7Rank: 7

    精華
    5
    威望
    39621
    K幣
    14450 元
    注冊(cè)時(shí)間
    2011-3-11
    6
    發(fā)表于 2013-5-15 17:09 | 只看該作者
    是個(gè)神馬故事?????白雪公主???????
    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    7
    發(fā)表于 2013-5-15 17:10 | 只看該作者
    因?yàn)槊總€(gè)女生最中意的男生都不同,所以只要讓女生們都選擇跟自己最中意的男生在一起,她們就都不會(huì)有和其他男生私奔的想法。雖然男生們會(huì)表示略苦逼啊!仍然不失為一個(gè)stable matching。。。。。  
    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    8
    發(fā)表于 2013-5-15 17:11 | 只看該作者
    第一天早上:所有男生都向自己最中意的女生表白。  

    第一天中午:每個(gè)女生都被表白了n次(可能是0次)之后,拒絕了相對(duì)不太中意的那n-1位,hold住其中最中意的那位。。。即暫時(shí)不答應(yīng)也不拒絕  

    第一天晚上,被拒絕的男生們?cè)谧约旱膒reference列表中劃掉了那個(gè)拒絕他的人。。。  



    第二天早上:所有沒有被hold住的男生都向自己最中意的女生(無視已經(jīng)被劃掉的)表白。  

    第二天中午:女生們?cè)谀切┫蛩戆椎哪猩鸵呀?jīng)hold住的那男生中選擇最中意的一位,拒絕掉其他的。  

    第二天晚上:被拒絕的男生們?cè)谧约旱膒reference列表中劃掉拒絕了自己的人。。。。  



    第三天,重復(fù)同樣的過程。。。  

    第四天。。。。  

    。。。。。。。  

    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    9
    發(fā)表于 2013-5-15 17:12 | 只看該作者
    這樣的過程是有限的,不會(huì)一直循環(huán)下去。

    在這樣的過程結(jié)束之后,每個(gè)女生都會(huì)hold住一個(gè)男生。即在那一天之后沒有男生可以繼續(xù)表白了,這時(shí)女生們終于都向那個(gè)男生說了yes!  



    按照這樣的過程,最后不會(huì)存在一對(duì)男女有私奔傾向  

    即完成了stable matching。  

    回復(fù)

    使用道具 舉報(bào)

    134

    主題

    2萬

    帖子

    0

    積分

    大區(qū)版主

    咩咩咩。。。很萌有木有。。。

    Rank: 8Rank: 8

    精華
    29
    威望
    1165984
    K幣
    44347 元
    注冊(cè)時(shí)間
    2010-11-25

    大區(qū)版主考研論壇2013年下半年優(yōu)秀版主

    10
    發(fā)表于 2013-5-15 17:12 | 只看該作者
    師兄。。。我說的對(duì)么?男女穩(wěn)定匹配。。。。
    回復(fù)

    使用道具 舉報(bào)

    您需要登錄后才可以回帖 登錄 | 注冊(cè) 人人連接登陸

    本版積分規(guī)則   

    關(guān)閉

    您還剩5次免費(fèi)下載資料的機(jī)會(huì)哦~

    掃描二維碼下載資料

    使用手機(jī)端考研幫,進(jìn)入掃一掃
    在“我”中打開掃一掃,
    掃描二維碼下載資料

    關(guān)于我們|商務(wù)合作|小黑屋|手機(jī)版|聯(lián)系我們|服務(wù)條款|隱私保護(hù)|幫學(xué)堂| 網(wǎng)站地圖|院校地圖|漏洞提交|考研幫

    GMT+8, 2026-4-30 17:58 , Processed in 0.088019 second(s), Total 9, Slave 8(Usage:7.25M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回復(fù) 返回頂部 返回列表
    × 關(guān)閉