【问题标题】:Online algorithm to find median with sublinear space complexity寻找具有次线性空间复杂度的中值的在线算法
【发布时间】:2018-01-29 11:54:22
【问题描述】:

有一项任务是计划一个算法/数据结构,该算法/数据结构一个接一个地接收值,并且可以在被问到时给出当前的中位数。 它应该支持时间复杂度为logn的值的插入,并输出具有恒定时间复杂度的中值。

有没有办法用亚线性空间复杂度做到这一点? 谢谢。

【问题讨论】:

  • 纯算法问题可能更适合cs.stackexchange.com,但请务必在提问前阅读他们的如何提问页面。
  • 另外 - 没有拼写错误。 “中位数”,而不是“中位数”。
  • 我不会给出答案,因为...我不确定这是否对堆栈溢出有好处,回答不好的问题可能会吸引更多不好的问题导致堆栈溢出。
  • 这是一个经典的堆问题,看这里:geeksforgeeks.org/median-of-stream-of-integers-running-integers
  • @hbejgel 他询问亚线性 空间 复杂性的可能性

标签: algorithm selection


【解决方案1】:

如果您已经看过n 数字,则可以通过添加更多数字来使每个数字都成为当前的中位数。所以不可能找到次线性空间复杂度的解。

【讨论】:

  • 这就是我的想法。如果我知道输入项的总数,它会改变吗?
  • 在这种情况下,您可以减少内存需求,因为您可以丢弃不再成为当前中位数但仍为 O(n) 的数字。
猜你喜欢
  • 2020-12-13
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
  • 2015-04-24
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多