带权中位数:首先将这个数组的数据按一定的顺序排列, 带权中位数(Weighted Median)对于n个互不相同的元素集合x1、x2……xn,其权重依次为w1、w2……wn。则带权中位数xk满足:(这里的权重可以用这个数据出现的频率来表示,或者这个数据的重要性)
sigma(wi)(xi<xk)<=1/2
sigma(wi)(xi>xk)<=1/2
其中sigma表示求和。
带权中位数满足:sigma(|xi-xk|*wi)最小
求解带权中位数问题步骤:
1 按照从小到大的顺序给x1……xn排序
2 遍历数组,直至找到第一个xk,满足sigma(wi)(xi<xk)>=W/2,则xk就是要找的带权中位数。
该算法的时间复杂度为O(nlgn)。