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/