我可以使用中位数选择算法的中位数来找出O(n)中的中位数.此外,我知道在算法完成后,中位数左边的所有元素都小于中位数,右边的所有元素都大于中位数.但是如何在O(n)时间内找到k个最近邻居的中位数呢?
如果中位数是n,则左边的数字小于n,右边的数字大于n.但是,数组未在左侧或右侧排序.数字是用户给出的任何一组不同的数字.
问题来自Cormen的算法导论,问题9.3-7
sorting algorithm search nearest-neighbor median
algorithm ×1
median ×1
nearest-neighbor ×1
search ×1
sorting ×1