在有限空间中找到中位数的概率

2023-11-27

这是 StackOverflow 的衍生产品question.

假设你有一个固定的号码k存储位置和两个柜台的空间。您将收到n随机顺序的项目(所有排列n项的可能性相同)。收到每件物品后,您可以将其存放在其中一个k位置(丢弃先前存储的值之一),或丢弃该项目。您还可以递增或递减任一计数器。任何丢弃的物品都无法找回。

问题是

  1. 最大化找到准确中位数的概率的策略是什么?
  2. 这个概率是多少?

显然,如果k > n/2,我们可以找到中位数。一般来说,尝试保持丢弃的高值的数量等于丢弃的低值的数量的相同策略似乎应该是最佳的,但我不确定如何证明它,也不知道如何计算它找到的概率中位数。

同样有趣的是我们不知道的情况n但知道概率分布n.

Edit:现在假设这些值是不同的(没有重复)。但是,如果您也可以解决非不同的情况,那么这将令人印象深刻。


Munro 和 Paterson 在他们的论文中本质上研究了这个问题有限存储的选择和排序。他们表明,您的算法需要 k = Ω(√n) 才能以恒定概率成功,并且通过利用一维随机游走的基本结果,这是渐近最优的。

如果我想证明绝对最优性,我首先要尝试的是考虑任意算法 A,然后couple它使用算法 A' 执行,当 A 第一次偏离您的算法时,您的算法会改为执行,然后尝试尽可能接近地遵循 A。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在有限空间中找到中位数的概率 的相关文章

  • 用于计算三角函数、对数或类似函数的算法。仅限加减法

    我正在修复 Ascota 170 古董机械可编程计算机 它已经开始工作了 现在我正在寻找一种算法来展示其功能 例如计算三角或对数表 或类似的东西 不幸的是 从数学运算来看 计算机只能进行整数的加减法 从 1E12到1E12的55个寄存器 甚
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 如何在 JavaScript 中构建树模式匹配算法?

    好吧 这是一个有点复杂的问题 但是 tl dr 基本上是如何使用 模式树 解析 实际树 如何检查特定的树实例是否与特定的模式树匹配 首先 我们有我们的结构模式树 模式树通常可以包含以下类型的节点 sequence节点 匹配一系列项目 零个或
  • 关于Marching Cubes算法的澄清

    关于Marching Cubes 我对其算法和实现有一些疑问 我已经阅读了 Marching Cubes 的 Paul Bourke 优秀文章以及网站上可用的源代码 但是 我在理解以及如何以自己的方式实现算法方面仍然遇到了一些问题 问题如下
  • 检查有效的 IMEI

    有人知道如何检查有效的 IMEI 吗 我找到了一个可以检查此页面的功能 http www dotnetfunda com articles article597 imeivalidator in vbnet aspx http www do
  • 分而治之算法找到两个有序元素之间的最大差异

    给定一个整数数组 arr 找出任意两个元素之间的差异 使得较大的元素出现在 arr 中较小的数字之后 Max Difference Max arr x arr y x gt y 例子 如果数组是 2 3 10 6 4 8 1 7 那么返回值
  • “包含字符串”的快速索引

    在我的应用程序中 我有多达数百万个短字符串 大部分短于 32 个字符 我想实现一个带有附加列表的搜索框 该列表仅包含包含在搜索框中输入的整个字符串的元素 如何预先建立索引来快速找到此类字符串 所有排序的 STL 容器都会检查整个字符串 对于
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 当给定块大小时反转单链表

    有一个单连接链表 并给出了块大小 例如 如果我的链表是1 gt 2 gt 3 gt 4 gt 5 gt 6 gt 7 gt 8 NULL我的块大小是4然后反转第一个4元素 然后是第二个 4 个元素 问题的输出应该是4 gt 3 gt 2 g
  • heapq.nlargest 的时间复杂度是多少?

    我在看演讲者说 获得t列表中最大的元素n元素可以在O t n 这怎么可能 我的理解是创建堆将是O n 但是复杂度是多少nlargest本身就是O n t or O t 实际的算法是什么 在这种情况下 说话者是错误的 实际成本是O n log
  • 重写修改后的 goto 语义的算法

    我有一大堆使用旧的自行设计的脚本语言编写的遗留代码 我们将它们编译 翻译成 javascript 该语言有条件跳转 跳转到标签 与普通 goto 语句的区别在于 不可能向后跳转 该语言中没有嵌套的 if 语句或循环 由于 javascrip
  • 无法理解Peterson算法的正确性

    我在这里讨论彼得森算法的一个场景 flag 0 0 flag 1 0 turn P0 flag 0 1 turn 1 while flag 1 1 turn 1 busy wait
  • 连接红黑树

    OCaml 标准库有一个很棒的Set使用非常有效的分而治之算法来计算的实现union两套 我相信它会从一组中获取整个子树 而不仅仅是单个元素 并将它们插入到另一组中 并在必要时重新平衡 我想知道这是否需要 OCaml 使用的 AVL 树中保
  • 排序矩阵的选择算法

    这是谷歌面试问题 给定一个 N N 矩阵 所有行均已排序 所有列均已排序 找到矩阵的第 K 个最大元素 在 n 2 中执行它很简单 我们可以使用堆或合并排序 n lg n 对它进行排序 然后得到它 但是有没有更好的方法 比 n lg n 更
  • String.contains() 的时间复杂度

    String contains 的时间复杂度是多少 假设 n 是与另一个长度为 k 的字符串进行比较的字符串的长度 如果不知道您感兴趣的 String contains 的实际实现 就没有答案 或者你打算使用什么算法 一个完全幼稚的实现可能
  • 计算序列而无法存储值?

    问题陈述 here http www spoj com problems EC SER 令 S 为无限整数序列 S0 a S1 b Si Si 2 Si 1 对于所有 i gt 2 你有两个整数 a 和 b 您必须回答有关序列中第 n 个元
  • 我如何开始玩五子棋?

    我读到Gomoku http en wikipedia org wiki Gomoku它可以使用 Minimax 和 Alpha Beta 剪枝算法来实现 所以 我阅读了这些算法 现在了解了游戏将如何解决 但是当我坐下来编写代码时 我面临着
  • Java 中旅行商问题的暴力算法

    我正在学校的数学课上做一个项目 我选择做旅行商问题 这是我一直想进行更多研究的问题 但是 我的暴力求解算法遇到了问题 请前往底部更新查看最新版本代码 如果您知道旅行推销员问题是什么 请跳过本段 尽可能概括地说 TSP 是这样的 您是一名推销
  • Java 中查看 ArrayList 是否包含对象的最有效方法

    我有一个 Java 对象的 ArrayList 这些对象有四个字段 我用其中两个字段来将对象视为与另一个对象相等 我正在寻找最有效的方法 给定这两个字段 以查看数组是否包含该对象 问题在于这些类是基于 XSD 对象生成的 因此我无法修改类本

随机推荐

  • 如何向使用 ggplot2 创建的分区统计图添加标签?

    我正在尝试向我在 ggplot2 中创建的分区统计图添加文本注释 但目前失败 我正在寻求用名称标记每个多边形 地方政府区域 在我继续之前 我知道有人在 SO 上提出了类似的问题 并在 非常好的 教程中详细介绍了这一问题here 但是 我尝试
  • 将子目录(已重命名!)分离到新的存储库中

    我有一个存储库 我想将其目录之一分离到一个新的存储库中 This是一个完美的起点 但是有一个警告 我想要分离的目录在某个时候被重命名 如果我按照该帖子中的解决方案使用目录的新名称 那么我似乎会丢失重命名之前的历史记录 有什么想法可以调整以使
  • 在任意 scala 代码位置期间放入解释器

    我有 Python 背景 我可以在代码中的任何位置添加 import pdb pdb set trace 在运行时 我将在该位置进入交互式解释器 scala 是否有等效的 或者这在运行时不可能 是的 在 Scala 2 8 上可以 请注意
  • 用于数组元素的 LIKE 查询的 LINQ

    假设我有一个数组 我想对 varchar 执行 LINQ 查询 返回在 varchar 中任何位置具有数组元素的任何记录 这样的事情会很甜蜜 string industries airline railroad var query 来自联系
  • 一起使用 SQL LIKE 和 IN

    有没有办法同时使用LIKE和IN 我想实现这样的目标 SELECT FROM tablename WHERE column IN M510 M615 M515 M612 所以基本上我希望能够将列与一堆不同的字符串相匹配 是否有另一种方法可以
  • OS X 的默认命令如何访问沙盒应用程序的首选项?

    我正在编写一个首选项编辑器工具 请参阅http www tempel org PrefsEditor 它实际上是 GUI 版本defaults命令 不过 我在读取 更不用说编写 随机沙盒应用程序的偏好时遇到了困难 例如 当我尝试获取地图应用
  • Apache POI 5 和 XMLBeans 类路径问题

    我尝试在下面的帖子中回答 但我没有 声誉 也确实没有时间去寻找 10 个问题来回答 运行时异常 POI 5 和 xmlbeans 对于 WebLogic 服务器中的 POI 5 和 XMLBeans 4 或 5 存在类加载器问题 它将尝试使
  • 在 Oracle DB 中将 pandas(字符串/对象)列保存为 VARCHAR 而不是 CLOB(默认行为)

    我正在尝试将数据帧传输到 Oracle 数据库 但传输时间太长 因为变量的数据类型显示为clob在甲骨文中 但是我相信如果我将数据类型转换为clob到字符串9 digits with 填充0 不会花那么多时间 数据是 product 000
  • 我们什么时候应该将 .then 与 Protractor Promise 一起使用?

    我对量角器有很多不稳定的地方 我确信有些东西我不明白 有时我需要在继续之前单击按钮时使用 then 有时它没有任何影响 我不应该使用 then 或测试失败 我想知道在 Protractor 中测试时何时应该使用 then 回调 例子 cre
  • 树枝中“do”标签的用途是什么

    我看过关于树枝的文档do标签 但我不明白它的用途 有用 The docs说如下 do 标签的工作方式与正则变量表达式 只是它不打印任何内容 并展示一个例子 do 1 2 这个标签到底要解决什么 好问题 我发现GitHub 上的链接 指向何时
  • F# 删除函数处理程序

    因此 我有一个想要在事件触发器上执行的函数 但我想稍后将其删除 我为此做什么 我知道 F 事件有Add添加函数作为处理程序的方法 但您无法删除此函数 我明白 但我根本找不到如何创建任何委托 嗯 有is the type Foo delega
  • 如何在 Eclipse 中升级到 GWT 2.5

    我正在使用 GWT 2 4 和 Eclipse Juno GWT 是按照以下说明安装的https developers google com web toolkit usingeclipse 我想尝试 GWT 2 5 如何从 GWT 2 4
  • 架构armv7的未定义符号:cocoaPods iPhone 5

    仅当我尝试在 iPhone 5 上构建和运行时 我才会收到此错误 它在 iPhone 6 或更高版本上运行良好 这些都是产生错误的 cocoaPods 我已经运行了 pod install pod update 清除了 pod 并重新开始
  • cURL 中的数据二进制参数

    我必须通过 php 中的 cURL 发送数据二进制参数 这是命令 curl D u user password X PUT H Content Type text plain data binary data id 2010 10 01 1
  • Java 8 DateTimeFormatter 与可选部分

    我有一个代表日期 有或没有时间 的字符串 例如13 12 2017 or 13 12 2017 15 39 51 所以我尝试将 java 8 DateTimeFormatter 与可选部分一起使用 该代码有效 LocalDateTime l
  • 为跨源请求设置cookie

    如何跨域共享cookies 更具体地说 如何使用Set Cookie标题与标题相结合Access Control Allow Origin 这是我的情况的解释 我正在尝试为正在运行的 API 设置 cookielocalhost 4000在
  • MySQL Select:其中时间大于且小于时间

    我有一个接受两个时间参数的函数 start time end time每个参数在 php 中定义为时间 start time date H i s strtotime start gt like 06 12 44 end time date
  • SQL Server 替换、删除特定字符后的所有内容

    我的数据看起来像 ID MyText 1 some text some more text 2 text again even more text 如何更新 我的文本 以删除分号之后的所有内容并包括分号 因此我只剩下以下内容 ID MyTe
  • PrimeFaces dataTable:如何捕获每页行数事件?

    我创建了一个 PrimeFaces 数据表
  • 在有限空间中找到中位数的概率

    这是 StackOverflow 的衍生产品question 假设你有一个固定的号码k存储位置和两个柜台的空间 您将收到n随机顺序的项目 所有排列n项的可能性相同 收到每件物品后 您可以将其存放在其中一个k位置 丢弃先前存储的值之一 或丢弃