带权中位数

 带权中位数:首先将这个数组的数据按一定的顺序排列, 带权中位数(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)。

 

posted @ 2013-03-17 19:57  小叫花子  阅读(442)  评论(0编辑  收藏  举报