[理工] 演算 selection problem之时间复杂度

楼主: newpuma (还很新)   2016-12-06 09:33:34
http://i.imgur.com/cmfwn1S.jpg
因为在解释里好像没特别说是用什么样的sorting方式,其他算法大多是用comparison ba
se
还有T(n)=T(n/5)+T(3n/4)+O(n)→→→这个O(n)是哪来的QQ
作者: hopward (hopward)   2016-12-06 09:36:00
他又不是做sortingO(n)是1.2.4步的时间5个数排列 就算用初等排序 也才5^2=25是一个常数 然后又有n/5组 所以那一步还是花n的时间递回求中位数的中位数那只是把一堆中位数再丢下去递回 所以时间就是T(n/5)而且递回也不是排列中位数 而只是要找中位数的中位数 所以递回下去也只是要找那n/5个数中的第n/2大的数而已1.2.4各花n 加起来还是n 所以他就省略了
作者: shortid (我是短哀低)   2016-12-06 11:04:00
Sort o(n)是因为每堆只有5个 假设采n log n的sorting 也才5log5 是常数 因为有n/5堆 所以总共是nlog5 是O(n)
作者: a15151616 (QQ)   2016-12-06 11:13:00
那个O(n)你用第四步骤看 全部的数跟P比大小分堆 至少要比较n次
作者: aa06697 (todo se andarà)   2016-12-06 13:46:00
可以google median of median 网络上有很多讲解~

Links booklink

Contact Us: admin [ a t ] ucptt.com