如何在线性时间和(希望)亚线性空间中检测稀疏数据的分区(集群)?

用户541686

假设我有n个不相交的整数间隔中的m个整数,它们在某种意义上是“相距较远”的。Ñ预先已知的,但是已知为小(见下面的假设)。

例如,对于n = 3,我可能已经从区间105-2400、58030-571290、1000000-1000100中获得了随机分布的整数。

找出最小值(105)和最大值(1000100)显然是微不足道的。
但是,是否有任何方法可以有效地(在O(m)时间,并希望在o(m)空间)找到间隔的边界点,以便我可以对数据进行快速分区以进行单独处理?

如果没有有效的方法来精确地做到这一点,是否有一种有效的方法可以将分区近似到一个小的常数因子(如2)之内?
(例如,4000是较小间隔的上限的可接受的近似值,而30000是中间间隔的下限的可接受的近似值。)

假设:

  1. 一切都是非负的

  2. n非常小(例如<10)

  3. 最大值比较大(例如,约为2 26

  4. 间隔是密集的(即,该间隔内的大多数值在数组中都有一个整数)

  5. 如果两个簇的最接近边界至少相距一个恒定因子c则它们相距很远
    编辑:是有意义的Ç是相对于所述簇的大小,而不是相对于结合的因此,在百万1个元件的簇应。被近似为从区间500000-2000000始发。)

  6. 整数排序,这很关键。实际上,没有基数排序就不可能在O(m)时间内对它们进行排序,但是基数排序可能具有O(max value)复杂性,并且不能保证最大值接近m的任何地方

同样,速度是这里最重要的因素。只要误差在合理范围内,就可以容忍。

用户541686

实际上,当我发布问题时,我认为我是错的-答案的确似乎是基数排序。

桶的数量是任意的,不必与间隔的大小相关。
如果我一点一点地去,甚至可能是2。

因此,基数排序可以帮助我按O(m log(max value))≈O(m)的时间对数据进行排序(因为根据假设,log(max value)本质上是26的常数),这时问题就解决了变得微不足道。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在线性时间和(希望)亚线性空间中检测稀疏数据的分区(集群)?

来自分类Dev

将成对和存储在线性空间中

来自分类Dev

亚线性时间中的二维数组搜索

来自分类Dev

如何在线性布局中将ImageView和TextView对齐

来自分类Dev

如何在python中创建时间戳的线性空间?

来自分类Dev

在亚线性时间中计算斐波那契函数

来自分类Dev

在亚线性时间中计算斐波那契函数

来自分类Dev

如何在 C# 中以编程方式在没有图像的线性布局和空白空间中添加图像?Xamarin.Android

来自分类Dev

如何在功能上而不是在程序上在线性时间内“反转”数组?

来自分类Dev

如何在线性时间内对int数组进行排序?

来自分类Dev

如何在线性时间内按Fin枚举列表的元素?

来自分类Dev

如何在线性时间内找到DAG中节点可达到的最小值?

来自分类Dev

如何在线性时间内找到阵列中所有可能的子阵列的乘积?

来自分类Dev

如何在线性时间内生成稳定的二进制值?

来自分类Dev

如何在功能上而不是在程序上在线性时间内“反转”数组?

来自分类Dev

如何在线性时间内对int数组进行排序?

来自分类Dev

如何在线性时间内找到DAG中节点可达到的最小值?

来自分类Dev

在线性时间中找到数组中大小为4的排序子序列

来自分类Dev

如何在线性回归的函数调用中动态引用数据集

来自分类Dev

机器学习内核(如何使用给定的内核检查数据在高维空间中是否可线性分离)

来自分类Dev

如何在线性回归模型中降低MSE和提高R2

来自分类Dev

如何在线性布局的左侧和右侧对齐文本视图

来自分类Dev

如何在线性回归模型中为 x 值和 y 值提供颜色?

来自分类Dev

线性时间的子集和

来自分类Dev

线性时间的子集和

来自分类Dev

如何在线性布局中右对齐

来自分类Dev

如何在线性布局中设置随机TextView的位置?

来自分类Dev

Android-如何在线性布局之间生成线条

来自分类Dev

如何在线性布局的底部对齐按钮?

Related 相关文章

  1. 1

    如何在线性时间和(希望)亚线性空间中检测稀疏数据的分区(集群)?

  2. 2

    将成对和存储在线性空间中

  3. 3

    亚线性时间中的二维数组搜索

  4. 4

    如何在线性布局中将ImageView和TextView对齐

  5. 5

    如何在python中创建时间戳的线性空间?

  6. 6

    在亚线性时间中计算斐波那契函数

  7. 7

    在亚线性时间中计算斐波那契函数

  8. 8

    如何在 C# 中以编程方式在没有图像的线性布局和空白空间中添加图像?Xamarin.Android

  9. 9

    如何在功能上而不是在程序上在线性时间内“反转”数组?

  10. 10

    如何在线性时间内对int数组进行排序?

  11. 11

    如何在线性时间内按Fin枚举列表的元素?

  12. 12

    如何在线性时间内找到DAG中节点可达到的最小值?

  13. 13

    如何在线性时间内找到阵列中所有可能的子阵列的乘积?

  14. 14

    如何在线性时间内生成稳定的二进制值?

  15. 15

    如何在功能上而不是在程序上在线性时间内“反转”数组?

  16. 16

    如何在线性时间内对int数组进行排序?

  17. 17

    如何在线性时间内找到DAG中节点可达到的最小值?

  18. 18

    在线性时间中找到数组中大小为4的排序子序列

  19. 19

    如何在线性回归的函数调用中动态引用数据集

  20. 20

    机器学习内核(如何使用给定的内核检查数据在高维空间中是否可线性分离)

  21. 21

    如何在线性回归模型中降低MSE和提高R2

  22. 22

    如何在线性布局的左侧和右侧对齐文本视图

  23. 23

    如何在线性回归模型中为 x 值和 y 值提供颜色?

  24. 24

    线性时间的子集和

  25. 25

    线性时间的子集和

  26. 26

    如何在线性布局中右对齐

  27. 27

    如何在线性布局中设置随机TextView的位置?

  28. 28

    Android-如何在线性布局之间生成线条

  29. 29

    如何在线性布局的底部对齐按钮?

热门标签

归档