big-o

    1熱度

    1回答

    我有這些嵌套循環 int sum = 0; for (int n = N; n > 0; n = n/2) { for (int i = 0; i < n; i++) { sum++; } } 外環拋出我從一點點。 運行時仍然是O(n^2)還是別的?

    0熱度

    2回答

    排序算法可描述如下: 1.從陣列數據創建二進制搜索樹。 (對於多次出現,遞增當前節點的occurence變量) 2.導線BST在序方式。 (按順序遍歷將返回數組中元素的排序順序)。 3.在按順序遍歷的每個節點上,用當前節點值覆蓋當前索引(索引從0開始)處的數組元素。 下面是相同的Java實現: 節點類的結構 class Node { Node left; int data;

    4熱度

    3回答

    我想對O(N)函數做一些說明。我正在使用SICP。 考慮,在僞代碼生成一個遞歸過程書中的階乘函數: function factorial1(n) { if (n == 1) { return 1; } return n*factorial1(n-1); } 我不知道如何來衡量的步數。也就是說,我不知道如何「一步」的定義,所以我用的語句從書中定義步:

    2熱度

    3回答

    我想抓住運行時的概念,並且我對這個問題有點困惑。我知道外部循環的運行時間是O(n)。我也知道n的值大於1000,內部循環將運行在恆定的時間。但是,對於n < 1000的值,內部循環似乎具有對數運行時。那麼這是否意味着該函數的大O將會是O(n log n),因爲我應該假設最壞的情況? for(i = 1; i < n; i++) { for(j = 1000/i; j > 0; j--)

    2熱度

    2回答

    我在計算迭代依賴於外部循環的兩組代碼示例的Big O運行時遇到了一些麻煩。我對Big O運行時間有了基本的瞭解,並且我可以計算出更簡單的代碼示例的運行時間。我不太確定某些線路是如何影響運行時間的。 我會考慮這第一個O(n^2)。但是,我不確定。 for(i = 1; i < n; i++){ for(j = 1000/i; j > 0; j--){ <--Not sure if this is

    3熱度

    2回答

    這是我實施的電源方法。 如果電源是偶數,我方形基部,和劃分 功率除以2 如果電源是奇數,我遞歸運行的方法,用 功率減小減1,以得到偶數,然後乘以基數得到的結果,以計算減1的功率。 基本情況達到時,功率爲1,結果爲0。 我的問題是,什麼是這種方法的時間複雜度?因爲,我們在每次迭代中將權力除以2,是否記錄到基數2? double myPow(double base, int pow) {

    0熱度

    1回答

    函數2log(log(n))+ 3nlog(n)+ 5log(n)的最大值是多少? 對於整個函數,它只是O(nlog(n))嗎?我不知道如何表示2log(log(n))。

    -10熱度

    1回答

    public long seriesLoop() { long answer = a; for (long i = 1; i < n; i++) { long delta = a; for (long j = 0; j < i; j++) { delta *= r; } answer += d

    -1熱度

    2回答

    醫生說 時間:列表中包含了O(1)前插和頭/尾的訪問。大多數其他 操作都是O(n)列表中元素的數量。這個 包括基於索引的元素查找,長度,追加和逆向。 Docs「自豪地」提到大多數操作都是O(n)。即使它通過鏈表進行備份,長度和附加操作也可以很容易地保持一致。也不知道我是否明白爲什麼它不是雙向鏈表,這會使O(1)反向操作。 這是功能強大的巨無霸,不是嗎? [編輯]哪個集合可以給我所有上述操作的O(1

    1熱度

    1回答

    我試圖確定的是大寫字母的查找時間,而不是小寫字母。這使我想問一下,ascii表上的查找是Theta(1)還是效率比這更低,這意味着首都的查找時間比lowercase更快?