2022年2022年海量数据查找中位数 .pdf
《2022年2022年海量数据查找中位数 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年海量数据查找中位数 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、若 有 很 大 一 组 数 据 ,数 据 的 个 数 是 N( 每 个 数 占4 个 字 节 ), 内 存 大 小 为M个 字 节 ,其 中 M 4 * N, 使 得 不 能 在 现 有 内 存 情 况 下 通 过 直 接 排 序 找 到 这N个 数 的 中 位 数 。解 决 海 量 数 据 中 取 中 位 数 的 方 法 有 两 种 比 较 简 单 耗 时 的是 用 堆 排 序 ,还 有 一 种 是 改 造 后 基 于 段 的 计 数 :1 ) 分 区 间 堆 排 序 : 在 现 有M 大 小 内 存 情 况 下 若 最 多 能 够 造 出 包 含p 个数 据 的 堆 , 则 先 扫 描 一
2、 次 这N个 数 据 找 到 最 小 的p个 数 , 耗 时O ( Nl og ( p ) ) , 设 这p 个 数 中 最 大 的 数 是a , 将 堆 清 空 , 在 第 二 轮 扫 描出 比 a 大 的 中 最 小 的 p 个 数 , 然 后 在 把 a 改 为 记 录 这p 个 数 中 最 大的 数 , 依 次 类 推 , 直 到 计 算 到 某 一 轮p 个 数 和 之 前 够 造 出 的 数 的 个数 大 于 N/ 2 , 在 这p 个 数 中 找 到 所 有 数 中 的 中 位 数 ,耗 时 的 地 方 是 每轮 扫 描 构 建 堆 都 要 用 了O ( Nl o g ( p )
3、 ) , 构 造 的 次 数 为N/ (2 *p ) , 所 以 它的 时 间 复 杂 度 是O ( N* N*l o g ( p) / (2 *p ) ). 2) 基 于 段 的 计 数基 于 段 的 计 数 指 的 的 是 对 一 个 区 间 范 围 的 计 数 , 与 计 数 排 序 不 同 的是 后 者 对 每 一 个 数 出 现 次 数 的 计 数 , 而 前 者 是 对 出 现 在 某 一 区 间 范围 内 的 数 计 数 , 段 的 大 小 取 决 于 内 存 大 小 和 每 段 计 数 器 所 占 的 字 节数 , 而 计 数 器 大 小 又 受 总 数 据 量 有 关 , 需
4、 满 足 计 数 器 的 最 大 计 数 能够 大 于 最 大 个 数N, 比 如 本 题 中 内 存 大 小 是M 个 字 节 , 而N 的 大 小至 少 需 要 用l o gN 位 来 表 示 ,设k 个 字 节 表 示 的 无 符 号 整 数 可 以 最 大值 大 于 N,则 放 在 内 存 中 计 数 器 个 数 是 M/ k ,设q = M/ k , 即 这N 个 数 分为q 个 段 , 每 一 段 的 大 小 是 n = N/ q , 第 一 段 数 的 范 围 是 0 n -1 , 第 二段 是 n 2*n - 1 , 依 此 类 推 。 现 在 我 们 可 以 从 硬 盘 中
5、逐 个 扫 面 这 N 个 数 ,根 据 每 个 数 的 大 小 来 修 改 他 们 对 应 范 围 的 计 数 器 ,需 要 用 O (N) 时 间完 成 对 这q 个 段 的 计 数 。 然 后 从 第 一 段 开 始 往 后 扫 描 累 加 每 个 段 的计 数 器 , 直 到 累 加 到 某 一 段 的 计 数 器 使 得 它 和 这 之 前 的 个 数 大 于 N/ 2 ,假 设 这 个 段 所 表 示 的 范 围 是q q + n -1 , 那 么 这N 个 数 的 中 位 数 就 在q q + n -1 这 个 范 围 内 ,现 在 更 改 计 数 器 的 属 性 不 在 基 于
6、 段 而 是 基 于 每个 数 , 且 只 针 对q q +n - 1 这 n 个 数 计 数 , 还 需 要 一 轮 扫 面N 个 数 来完 成 对n个 计 数 器 的 确 定 , 在 本 段 之 前 的 段 计 数 器 计 数 之 和 是t, t N/ 2 那 一 个 计 数 器 , 它 所 代 表 的 数 就 是 这N 个 数 的 中 位 数 。2.题目是这样的,给定一个集合,首先该集合为空,之后不断往集合中加入整数,请依次输出每次加入一个整数后,集合里的中位数,请给出你的算法。如下面的例子集合中位数1 1 1,2 1 1,2,4 2 1,2,4,7 2 1,2,4,7,13 4 刚开始
7、就想到平衡二叉树,红黑树,因为听defense 说平衡二叉树就是保持左右字数的节点数量差不大于1,那经过构造处理,树的根元素肯定就是中位数了。但碍于平衡二叉树没细看过, 就先空着了。 由于最近几天一直关注着堆排序,而且进攻老提起他面试笔试的时候碰名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 到算法题要用堆,脑子里也老是堆在那打转。还别说, 真的是突然灵光一现,想到了用一个最小堆和一个最大堆来实现,而且思路也很清晰,处理起来也很
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年海量数据查找中位数 2022 海量 数据 查找 中位数
限制150内