我知道中位数算法的公式是:T(n)<= T(0.7n)+T(0.2n)+O(n)
和O(n)
来自查找每个块的中位数(大小为 5(,我想知道为什么需要 O(n( 才能找到每个块的中位数。这听起来像找到一个块的中位数需要O(1)
.怎么可能?
每个块的大小是恒定的 (5
(。因此,查找每个块的中位数是O(1)
(按O(1)
对块进行排序,并将中间指数作为中位数(。因此,找到所有块的中位数是O(n)
.然后找到每个块的中位数的中位数,在您的另一个问题中得到回答。