[理工] 台大陳健輝離散講義Part1 p124

作者: love52697 (sillyboy)   2018-10-06 19:12:21
各位大大好 小弟有個問題想請教
https://i.imgur.com/A6e17EY.jpg
如圖,其中寫出原始Recurrence Relation的部分,為何 f(x) = 2 ?
就我的理解 f(x) = 1 才對,因為把 2^n 個數等分成兩群後,
各群的總比較數為 a_n-1,兩群各找出極值,總共做了 2 * a_n-1 次比較後,
剩兩個數,只需要再做一次比較即可找出極值,故 2^n 個數的總比較數 a_n :
a_n = 2 * a_n-1 + 1
跟講義不一樣,哪個才對?
感謝
作者: skyHuan (Huan)   2018-10-06 22:00:00
這題洪逸的DS筆記有類似的想法,在sort那章的最後面,同意樓上說的2*a_n-1分別找出兩群的min跟Max,兩群的min跟Max再分別做比較才知道誰是真正的min跟Max,所以+2
作者: eggy1018 (羅密歐與豬過夜)   2018-10-06 21:01:00
個人覺得應該是an找n個中最大值的比較次數相當於找n-1個中最大值(an-1)找完之後再比一次所以加一因為要同時找最大&最小所以整體*2題外話,比an-1次不代表一定是極值,因為是在n個裡面找,所以你的方式我覺得可能有些瑕疵,如果有錯誤還請指正
作者: nannnnn (nannnnn)   2018-10-06 19:48:00
因為要同時找出最大和最小?所以子問題兩群中小的跟小的比,大的再跟大的比,這樣就比較兩次了
作者: love52697 (sillyboy)   2018-10-07 12:30:00
喔喔 好像是耶同意n大&s大 感謝指點!!謝謝e大關於極值的指正,講"該群極值"也許比較清楚仔細想想發現同時找極大極小不需要全部係數乘 2因為 a_n-1 包含了在 2^n-1 個數中找極大與找極小的總次數

Links booklink

Contact Us: admin [ a t ] ucptt.com