没有合适的资源?快使用搜索试试~ 我知道了~
中位数问题分析 .doc
4星 · 超过85%的资源 需积分: 10 42 下载量 24 浏览量
2007-11-09
15:26:09
上传
评论
收藏 288KB DOC 举报
温馨提示
试读
4页
本文提供了一种从大量无序整数中寻找中位数的方法。由于是通过整数的长度和整数的各个位上的值,来寻找排序后某一位置上的整数,所以,对整数大小没有限制(即不管整数是否可以被计算机表示,都适用)。使用的内存很少,可以控制在k级,并且基本不受整数数目的影响。对文件的扫描次数小于等于(1+目标整数位数)。
资源推荐
资源详情
资源评论
一、 问题描述:
在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思
路即可。
(引自 csdn 论坛,网址:
http://topic.csdn.net/u/20071010/13/c97c22a5-12f4-4c02-8bac-3044bb3f3318.html)
二、 解决方法:
1. 扫描文件,确定各个长度的整数的个数。如果整数小于零,长度按负数
记。保存在哈希表 中, :长度 :个数。
2. 根据 1 求出整数的个数 。若 ,
则 中 位 数 的 位 置 , 否 则 , 中 位 数 由 位 置
和 对应的数(为描述方便暂称为‘确中数’)确定。以
下按照 的情况分析,如果 情况与 情况不同,
则在括号中说明。
3. 按照 值从小到大的顺序,执行
直到 ,此时的 值即为中位数的长度 。长度小于 的整数的
个 数 为 。 如 果 , 扫 描 文 件 中 长 度 为
的整数即为所求中位数★①,否则继续以下步骤。
(如果 ,可根据 和 求出‘确中数’的长度 和
。如果 ,设 ,扫描文件中长度为 的
最 大 整 数 和 长 度 为 的 最 小 整 数 ,
即为所求中位数★②;否则
如果 ,扫描文件中长度为 的两个整数,求平均值即为所求中
位数★③,如果 继续以下步骤。)
4. 定义变量 。
5. 扫描文件中长度为 的整数。确定每个整数中第 位对
资源评论
- oxygen2862012-09-09程序写的不错,不用再去搜概念了
hrb133yqq
- 粉丝: 4
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功