algorithm - 固定大小数组线性搜索的大O

标签 algorithm big-o computer-science

const a = Array.apply(null, Array(50)).map((x, i) => i);

这个数组永远不会改变,它总是包含 50 个元素。

a.includes(x)(线性搜索)会是 O(n) OR O(50) OR 技术上 O(50) 但我们称之为 O(n)

最佳答案

不可能是 O(N),因为 N 意味着存在某个变量正在影响运行时。由于数组始终是 50 个元素,因此它将始终循环 50 次而不是可变次数 - 因此该函数是 O(50),我们通常将其简化为 O(1) - 它表示所有恒定时间函数。

关于algorithm - 固定大小数组线性搜索的大O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55796733/

相关文章:

c - 在合并排序中释放分配给已排序子数组的内存时出错

java - 重新排列链表的节点,例如奇数 inode 最后出现

javascript - 递归总是能提高性能吗?

string - 字符串子序列递归的时间复杂度

algorithm - 快速排序决策树

algorithm - 使用堆排序可以在 Θ(log n) 时间内对多少个元素进行排序?

algorithm - 在小于 O(n) 的比较中找到 3 个最小元素的时间复杂度

java - ArrayList add() 方法行为怪异?

algorithm - 在具有变化值的两个数组之间进行插值

javascript - ASP.net PageMethods 返回未定义