計(jì)算機(jī)經(jīng)典算法——錦標(biāo)賽排序算法

關(guān)鍵詞:二叉樹
生活中的淘汰錦標(biāo)賽:在單淘汰的錦標(biāo)賽中敛瓷,選手們兩兩比賽,勝者晉級(jí)镰矿,敗者被淘汰。比如世界乒乓球錦標(biāo)賽或者大滿貫網(wǎng)球賽就是這么進(jìn)行的俘种。
這樣一來(lái)秤标,就可以把比賽的賽程和結(jié)果對(duì)應(yīng)成一個(gè)二叉樹绝淡。在樹中每一個(gè)選手是二叉樹中的一個(gè)葉子結(jié)點(diǎn),每一場(chǎng)比賽就相當(dāng)于兩個(gè)數(shù)字在比大小苍姜,數(shù)字大的選手獲勝進(jìn)入下一輪牢酵,成為樹干上的根。所以衙猪,進(jìn)入到某一輪比賽的選手馍乙,其實(shí)都是某個(gè)子數(shù)干的根結(jié)點(diǎn)。最后的冠軍就是整個(gè)二叉樹的根結(jié)點(diǎn)垫释。這種賽制的合理性需要一個(gè)假設(shè):A>B, B>C --> 必然有A>C(輸贏的傳遞性)


錦標(biāo)賽排序法:對(duì)所有數(shù)字排序丝格,復(fù)雜度是nlogn(和快速排序差不多)。特定的場(chǎng)合棵譬,它更快显蝌,如果只選第一名,則算法復(fù)雜度只有N订咸,若需要選出第二名曼尊,則額外增加logn就可以了,對(duì)第三名也是如此脏嚷。這種方法在從N個(gè)選手中選出K個(gè)選手的事情中特別快

工程中骆撇,要比較兩個(gè)數(shù)字的大小
第一步:把所有的數(shù)字放到二叉樹的葉子節(jié)點(diǎn),然后按照錦標(biāo)賽單淘汰的方式父叙,兩兩比較選出最大
第二步:對(duì)于第二大的神郊,從所有被最大的數(shù)字淘汰的數(shù)字中選擇,以此類推選擇對(duì)于第三高每、第四大的數(shù)字

高盛面試題

假定有25名短跑選手比賽競(jìng)爭(zhēng)金銀銅牌屿岂,賽場(chǎng)上有5條賽道,因此一次可以有5個(gè)人同時(shí)比賽鲸匿。比賽不及時(shí)爷怀,只看相應(yīng)的名次。假如選手的發(fā)揮是穩(wěn)定的带欢,也就是說(shuō)如果約翰比張三跑的快运授,張三比凱利跑的快,那么約翰一定比凱利跑得快乔煞。最少需要幾組比賽才能決出前3名吁朦?

第一步,將25名選手分成5組渡贾,每組5人逗宜。讓每個(gè)組分別比賽,排出各組的名次來(lái),假設(shè)他們的名字就是他們?cè)谛〗M中的編號(hào)纺讲。



第二步擂仍,讓各組的第一名,也就是A1熬甚、B1逢渔、C1、D1乡括、E1再比一次肃廓。假設(shè)A1在這次比賽中獲勝,這樣我們就知道了第一名诲泌。



第三步盲赊,A2和另外四個(gè)組的第一名競(jìng)爭(zhēng)亞軍,A2档礁、B1角钩、C1、D1呻澜、E1比一次递礼,假設(shè)A2這一次贏了,他就是亞軍羹幸。如果A2沒(méi)有贏脊髓,另外4個(gè)組的某個(gè)第一名贏了,那個(gè)贏的人是亞軍栅受,就由那個(gè)組下一位選手遞進(jìn)将硝,角逐第三名


第四步,如上圖通過(guò)8次(5 +1 + 1 +1)選出的5人進(jìn)行第三名的比賽屏镊,前3全部產(chǎn)生

更好的答案:
前6次比賽都是必須的依疼,最佳答案的前2步和上述方案中的前2步是相同的。在第6組比賽(即5個(gè)第一名的比賽)結(jié)束之后而芥,最后的2名已經(jīng)沒(méi)有資格角逐前3名了律罢。

不妨假設(shè)那一次比賽從最快到最慢的結(jié)果是A1、B1棍丐、C1误辑、D1、E1歌逢,在D1和E1之前已經(jīng)有3名選手了巾钉,他們肯定不是前3名。
誰(shuí)還會(huì)是第二名的候選呢秘案?根據(jù)錦標(biāo)賽排序的原則砰苍,直接輸給第一名的人潦匈,也就是A2,以及最后附加賽輸給他的B1赚导,僅此兩人而已历等。
誰(shuí)會(huì)是第三名的候選呢?和A1在某一組比賽的第三名辟癌,他們是A3、C1荐捻,或者輸給第二名候選人B1的人黍少,即B2。

因此处面,第二厂置、第三名的候選人一共只有5個(gè), A2魂角、A3昵济、B1、B2和C1野揪,剛好湊一組访忿。這樣加上前6次,只需要賽7組斯稳,這是最佳方法海铆。


注:來(lái)自吳軍老師得到課程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市挣惰,隨后出現(xiàn)的幾起案子卧斟,更是在濱河造成了極大的恐慌,老刑警劉巖憎茂,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珍语,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡竖幔,警方通過(guò)查閱死者的電腦和手機(jī)板乙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赏枚,“玉大人亡驰,你說(shuō)我怎么就攤上這事《龇” “怎么了凡辱?”我有些...
    開(kāi)封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)栗恩。 經(jīng)常有香客問(wèn)我透乾,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任乳乌,我火速辦了婚禮捧韵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘汉操。我一直安慰自己再来,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布磷瘤。 她就那樣靜靜地躺著芒篷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪采缚。 梳的紋絲不亂的頭發(fā)上针炉,一...
    開(kāi)封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音扳抽,去河邊找鬼篡帕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贸呢,可吹牛的內(nèi)容都是我干的镰烧。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼楞陷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拌滋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起猜谚,我...
    開(kāi)封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤败砂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后魏铅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昌犹,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年览芳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了斜姥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沧竟,死狀恐怖铸敏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悟泵,我是刑警寧澤杈笔,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站糕非,受9級(jí)特大地震影響蒙具,放射性物質(zhì)發(fā)生泄漏球榆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一禁筏、第九天 我趴在偏房一處隱蔽的房頂上張望持钉。 院中可真熱鬧,春花似錦篱昔、人聲如沸每强。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)舀射。三九已至,卻和暖如春怀伦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背山林。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工房待, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驼抹。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓桑孩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親框冀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子流椒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第一步:把所有的數(shù)字放到二叉樹的葉子結(jié)點(diǎn),然后按照錦標(biāo)賽單淘汰的方式明也,兩兩比較選出最大的宣虾。第二步:對(duì)于第二大的,從...
    天雨流芳zhang閱讀 1,309評(píng)論 0 0
  • 朋友們晚上好温数!先祝大家中秋節(jié)快樂(lè)绣硝。我社即將迎來(lái)大家期盼已久的爐石傳說(shuō)錦標(biāo)賽,話不多說(shuō)撑刺,讓我們來(lái)看看這次比賽的規(guī)則吧...
    靳天陽(yáng)閱讀 256評(píng)論 0 0
  • 經(jīng)歷了復(fù)習(xí)及考試周后够傍,我應(yīng)該度過(guò)了最后一個(gè)自由而舒適的星期甫菠,懷揣著激動(dòng)的心情,興致高昂的來(lái)到學(xué)校冕屯。 在向蚊子貢獻(xiàn)了...
    弓煒杰_三月閱讀 1,060評(píng)論 18 9
  • 不管有沒(méi)有愛(ài)過(guò)或被愛(ài)過(guò)安聘,愛(ài)刹衫,對(duì)于我們來(lái)說(shuō)都是一種發(fā)至內(nèi)心的本能醋寝,不用刻意去模仿,也不用刻意去學(xué)習(xí)带迟,一切...
    筱念涼閱讀 1,049評(píng)論 8 3
  • 有一句話音羞,叫你想珍惜時(shí),ta已離去仓犬。經(jīng)歷到嗅绰,才知道什么時(shí)是愛(ài)的真諦,感情已經(jīng)放手搀继,就像潑處去的水窘面,那樣不可收拾。...
    砂碩閱讀 249評(píng)論 4 4