我是歌手第三季淘汰賽公布名次真的用的是李健說的冒泡法么?

我讀書少


不是 是歸併

亮點在於他居然能脫口而出冒泡法,雖然錯了,但是這個比2是個質數什麼的高端多了

我只能說thu教育根深蒂固啊,讓人20年後聽到排序第一反應是冒泡


不是,冒泡法指的是順次兩兩比較,將較大者不斷往前排名。

不過考慮到健哥大學畢業20年了,還能脫口而出冒泡法。這個包袱還是響了。


首先肯定不是冒泡排序。冒泡排序應該是這樣:

坐第一位的李佳薇和坐第二位的李榮浩先比較,如果李佳薇得票高,兩人就交換座位;然後坐第二位的人和坐第三位的陳潔儀比較,比陳潔儀高就交換座位;然後坐第三位的人和坐第四位的古巨基比較……直到最後和李健比較,得出全場最高。重複上述過程,得出其它名次。

而節目中的這種排序方法,如果單看第一輪的話,有點像歸併排序:先分成小組,小組內部分別排序;然後各小組的第一名互相比較,得出全場最高。

但問題是接下來,歸併排序要做的是:該小組第二名遞補為第一名,繼續和其他小組第一名比較。直到全部都比較完,得出全部名次。

而節目中在完成第一輪比較之後,又重新打亂分組,從小組比較開始。可見這是一種效率極低(但是收視率極高)的排序方法。


分組冒泡。


不。

評論里的偶像包袱除外,簡單舉例介紹以上複雜的說法:效率不一樣。

如:給5261排序

冒泡排序O(n^2)的時間複雜度,大樣本不適合。

5與2比較,交換,排序後25,整體2561

5與6比較,不交換,仍為56,整體2561

6與1比較,交換,排序後16,整體2516

2與5比較,不交換,仍為25,整體2516

5與1比較,交換,排序後15,整體2156

5與6比較,不交換,仍未56,整體2156

2與1比較,交換,排序後12,整體1256

2與5比較,不交換

5與6比較,不交換

1與2排序,不交換

2與5比較,不交換

5與6比較,不交換

歸併排序O(nlog(n))的時間複雜度,需要額外O(n^2)空間(便宜)存放排序結果。

52 61

5 2 6 1

25 16

1256

補充一句無關論題的扯淡:對於綜藝節目而言,選取演算法的標準不是效率而是關注度,總不能讓洪導每一問都進行性別與名字長度的提問吧。


上一季曹格晉級用的是冒泡排序,這次是歸併排序。


李健說:我今天晚上吃了個圓圓的桔子

網友甲說:健哥居然能脫口而出桔子,雖然他不知道正確的叫法是橘子,但也比其他歌手不知高到哪裡去了。

網友乙說:健哥居然說桔子是圓的,那是橢圓好不好?而且應該是個橢球,還是個不規則的橢球。根本不是圓。


冒泡法的兩兩比較也不是這樣比的,第一個元素的值和第二個元素比,選出最大的,再將這個元素和第三個比,1,2 2,3 3,4這種的,而不是1,2 3,4,這樣的複雜度是nlogn。。。而不是n方,更不要說是否沉降的問題。提出名詞讓別人震驚秀學歷獨樹一幟也要在乎嚴謹性吧


merge sort 吧


分治法


推薦閱讀:

如何評價歌手李健在歌手2017半決賽演唱的《一往情深的戀人》?
如何評價李健的新歌《春風十里不如你》?
如何評價李健和他的音樂?
如何評價李健的紅豆曲+一生所愛?
如何評價李健《美若黎明》?

TAG:程序員 | 李健歌手 | 我是歌手第三季 |