是javascript Math.sin()O(1)?

时间:2018-01-05 22:08:20

标签: javascript math time-complexity

我想知道Math.sin()Math.cos()是否为O(1),以及它是如何转换为编译器的。

我们可以为它创建一个匹配表。

或者我们可以创建一个不太详细的匹配表,并使用线性公式来计算值。

或者我们可以将其分解。

我想在任何意义上Math.sin()都是sorta O(1),因为输入是有界的,但它在编译器中是如何完成的以及它有多复杂?

1 个答案:

答案 0 :(得分:1)

可能无法给出明确的答案,因此我会尽力为您提供尽可能多的信息。

Math对象实现在浏览器和操作系统之间可能有所不同(“请注意,许多数学函数具有与实现相关的精度。这意味着不同的浏览器可以提供不同的结果,甚至是相同的JS引擎在不同的操作系统或体系结构上可以提供不同的结果。[1]“)。

有几种主要的方法可以实现正弦函数:

复杂性取决于实施。据我所知,CORDIC算法比较常见。