【发布时间】:2012-03-31 15:07:56
【问题描述】:
我想要一个函数,减法,它将接受两个数组,并返回数组 1 中不在数组 2 中的所有元素。
这可以在 js 中实现的最快速度是多少?是o(n)吗?
【问题讨论】:
-
这些数组中有什么?它们是深层对象还是仅仅是值?
-
见这里 - stackoverflow.com/questions/2963281/… 。因为你必须在 O(n) 时遍历两个数组
-
请注意,如果它们都已排序,则只有
O(n),否则您最终会得到O(n^2)操作。 -
它是 o(n^2) 因为
indexOf也是 o(n)。我不确定排序是否会使其成为 O(n) -
@regality 和 Raynos ~ 显然它可以在 o(n) 中完成 .. 见阿德里安的回答
标签: javascript arrays performance algorithm