2015-03-02 72 views
1

Java中math.sqrt實現的時間複雜度是多少? Java的時間複雜性是用一些技術實現的,這些技術的時間複雜度我試圖確定。Math.sqrt的時間複雜度Java

+0

請嘗試詳細說明你的問題是什麼。你給的描述很難理解。 – 2015-03-02 17:01:05

+0

我想它會使用牛頓的方法(或其他類似的數值分析方法)。 – 2015-03-02 17:02:29

+0

我會建議檢查:http://stackoverflow.com/questions/16232629/what-is-time-complexity-and-how-to-find-it 它很好解釋,並可以給你很好的知識你想做什麼。 – 2015-03-02 17:04:07

回答

0

看起來它是通過委託給本地方法sqrt方法StrictMath來實現的。

因此,似乎答案將是具體實施。

嚴格地說是O(1)。理論上(但顯然不是練習),我們可以遍歷所有雙打併找到最長時間。

此外,Math.sqrt(n)的時間複雜度不直接取決於n,而是取決於表示n所需的空間量,對於雙倍應該是恆定的。

+0

這應該是[StrictMath.sqrt'的定義](http://stackoverflow.com/questions/825221/where-can-i-find-the-source-code-for-javas-square-root-function ) – 2015-03-02 17:17:48