[理工] 演算法 複雜度

作者: bmpss92196 (bmpss92196)   2018-04-21 11:36:37
想請教此題
The comparison-based sorting algorithm on n data requires Ω(nlgn) time.
我的理解
根據Ω的意思,此題應該是要證comparison-based sorting 至少(最好情況)nlgn的複雜度
而解答上寫在worst case時至少需要h(樹高)次的比較
再來n個數有n!種可能性的排序,每個葉存一個,至少要有n!個葉
h高度的葉最多為2^h個
我的問題是解答上先說是worst case,但題目不是要最好情況下嗎?
如n=3,a,b,c三數比大小
最好情況不是a>b成立b>c成立 => a>b>c
這樣嗎?
有點不太理解解答的意思,謝謝
另外再請教林立宇老師課本上證明lg(n!)=Θ(nlgn)跟有些題目都沒有取c
定義上是要取c,是可以省略還是必須寫?
作者: outofyou   2018-04-21 12:48:00
我的理解,requires是考慮最壞情況需要的時間加上Ω的意思是,最壞情況至少需要這樣的時間。
作者: imticba (imticba)   2018-04-21 13:21:00
Ω不一定跟"best case"配對,如果和"worst case"搭配代表我們想分析worst case下至少要多久時間sorting去分析最好情況比較沒意義,因為最好的狀況可能是已經排序好的數列,這個狀況底下很多sorting方法會是linear time我沒有上林立宇的課,不過推測沒取的意思應該就是等於取c=1

Links booklink

Contact Us: admin [ a t ] ucptt.com