求带权中位数的Select算法
2019独角兽企业重金招聘Python工程师标准>>>
求带权中位数的Select算法
设有一个数组a,元素类型为T,T的定义如下:
struct T {
int x; // 位置
int w; //权重
}
最简单的方法就是,以x字段为标准排序,排序完扫描一次就得到答案;
这里要讲的是采用快排里面的Select算法。
原问题为:给定一个数组,
首先,我们随便找个元素作为分割元,譬如说a[1],将a分割成3部分:子数组P,a[1],子数组R。在分割的过程,我们可以顺便计算出P的权重和 wp与 R的权重和 wr。再设a[1]的权重为 w1,a[1...n]的权重和为W。
首先我们要看看a[1]有没有可能就是我们要找的人,如果wp < W / 2 且 wp + w1 >= W/2,那么恭喜你,a[1]就是你要找的人。
否则,我们开始分情况:
(1)如果 wp < W / 2 且 wp + w1 < W / 2,也就是说,我们要找的人在R里面。目标权重变化一下,问题就转化为子问题了。
(2)如果 wp > W / 2,也就说,我们要找的人在P里面。目标权重变化一下,问题就转化为子问题了。
搞定了!
转载于:https://my.oschina.net/mustang/blog/58056
求带权中位数的Select算法相关推荐
- 邮局选址问题-带权中位数
一.运行环境: Win7.MyEclipse.JDK8 二.运行过程说明: 数据文件格式:第一行是居民数量n的取值,第2~n+1行是每家的位置及权重. 输入格式:输入测试数据集文件编号,范围:1~6. ...
- 带权中位数-算法导论第三版第九章思考题9-2
带权中位数-算法导论第三版第九章思考题9-2 b 时间复杂度O(nlgn) float find_median_with_weights_b(float *array,int length) {qui ...
- 二维邮局选址问题-带权中位数
算法设计练习作业,邮局选址问题,将自己写的分享,有问题请指正,希望共同学习. 关于邮局选址问题的理论知识就不赘述了,网上有讲解的. #include <iostream> #include ...
- YL杯超级篮球赛_纪中1325_带权中位数
Description 一年一度的高一YL杯超级篮球赛开赛了.当然,所谓超级,意思是参赛人数可能多余5人.小三对这项篮球非常感兴趣,所以一场都没有落下.每个中午都准时守侯在篮球场看比赛.经过一个星期的 ...
- 中位数及带权中位数问题(转)
先从一到简单的题看起: 士兵站队问题 在一个划分成网格的操场上,n个士兵散乱地站在网格点上.网格点由整数坐标(x,y)表示.士兵们可以沿网格边上.下.左.右移动一步,但在同一时刻任一网格点上只能有一名 ...
- 带权图的最短路径算法(Dijkstra)实现
一,介绍 本文实现带权图的最短路径算法.给定图中一个顶点,求解该顶点到图中所有其他顶点的最短路径 以及 最短路径的长度.在决定写这篇文章之前,在网上找了很多关于Dijkstra算法实现,但大部分是不带 ...
- 中位数及带权中位数问题
信息学竞赛总是时不时与数学产生微妙的关系,中位数及带权中位数问题有时常常成为解题的关键,今日有时间,所以梳理一下. 先从一到简单的题看起: 士兵站队问题 在一个划分成网格的操场上,n个士兵散乱地站在网 ...
- 创建哈夫曼树并求带权路径长度
创建哈夫曼树并求带权路径长度 [问题描述]根据给定的权重,构造哈夫曼树,输出其带权路径长度. [输入形式]输入权重,空格作为分隔,回车结束,权重个数小于10. [输出形式]哈夫曼树的带权路径长度. [ ...
- 学校选址_洛谷U3451_带权中位数
题目描述 在一条大路一旁有许多栋楼,每栋楼里有许多小学生(哈哈哈一波小学生来袭!).但是这条路上没有小学!!!!所以唯恐世界不乱的牛A打算在路上(汽车什么的都不敢来这个小学生云集的地方咯,所以不用担心 ...
最新文章
- python计算tfidf sklearn计算
- lua 获取时分秒_PMON学用命令
- Mybatis 中使用CDATA
- 修改属性页CPropertyPage标题
- 高性能MySQL——查询性能优化
- 【Eclipse 插件】Implementors
- 从自媒体引流到私域池
- [转载] 05 Numpy排序搜索计数及集合操作
- c语言dummy作为参数,C语言中的dummy函数
- 关于IEnumeratorT泛型枚举器 和 IEnumerableT
- 腾讯云CDN加速产品介绍第二章-CDN系统架构
- 常见js针对浏览器之间的兼容问题
- 2019CBA全明星周末举行正赛 南方明星队获胜
- QGIS插件开发-执法业务计算
- 波士顿房价预测python_多元线性回归—波士顿房价预测(版本一)
- Linux系统安装开源版PyMOL
- 硬件基础:MOS管工作区间及开通过程分析——以N沟道增强型MOS为例
- 股票的发行原理是什么?
- 网络安全:网络攻击原理与方法.
- 二论骇客文化,个人英雄主义的终结,团队精神登上舞台