(图截自算法导论)

笔记(带权中位数)

先做下笔记,记住结论。



寻找带权中位数方法:

假设结构为s

struct Node
{
 double value;
 double weight;

}nodes[maxn];

1.按照坐标从小到大排序(用快排)

2.计算出总的权值sumweight(即所有点weight之和)

3.计算带权中位数

 Node Getmid(Node *node)

 {

    double lweight=0;

    for(int i=0;i<N;i++)

    {

        lweight+=nodes[i].weight;

        if(lweight>=sumweight/2)

            break;

     }

     return nodes[i];

 }


相关文章:

  • 2021-10-02
  • 2022-12-23
  • 2021-07-02
  • 2022-12-23
  • 2021-12-22
  • 2021-10-11
  • 2021-10-16
  • 2021-11-07
猜你喜欢
  • 2021-05-26
  • 2022-01-25
  • 2021-07-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
相关资源
相似解决方案