arrays - 查找数组中众多元素之一的复杂性

标签 arrays algorithm search big-o time-complexity

问题与标题所说的差不多,只是略有不同。如果我没记错的话,在大小为“n”的数组中查找条目的平均情况复杂度为 O(n)。

我假设如果向量中有固定数量的元素,我们想从中找到一个元素,情况也是如此。

但是如果条目的数量(我们仍然只尝试找到一个条目)以某种方式与向量的大小相关,即以某种方式随着它增长,那又如何呢? 我手头有这样一个案例,但我不知道数组大小和搜索条目数之间的确切关系。可能是线性的,可能是对数的..平均情况仍然是 O(n) 吗?

如有任何见解,我将不胜感激。

编辑:一个例子

数组大小:100

数组内容:在每个位置,1-10个数字,完全随机选择哪个。

我们要找的:“1”的第一次出现

从天真的角度来看,我们应该平均在任何一种线性搜索中查找 10 次后找到一个条目(我们必须这样做,因为内容没有排序。)

由于大 O 中通常会省略因子,这是否意味着我们仍然需要时间 O(n),即使它应该是 O(n)

最佳答案

反正是O(n)。

考虑在这里找到 1:

[9,9,9,9,9,1]

关于arrays - 查找数组中众多元素之一的复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25221507/

相关文章:

javascript - 根据 jquery ajax 请求的状态更改徽章颜色

C++ - 在构造函数中初始化指针数组

python - 将所有非零值放在数组的右边

security - 我可以限制 Easy Search 仅返回已发布的数据吗?

string - 为什么朴素的字符串搜索算法更快?

java - 每个按钮的 ActionListener 都有不同的变量

c 如何 union 让你将数据视为一个字节数组

python - 大小差异从何而来?

java - 逻辑划分 IF-ELSE-ENDIF 循环

iphone - 搜索栏的 iOS 色调文本字段背景