簡體   English   中英

從新手那里辨別空間復雜性的問題

[英]a question discerning space complexity from newbie

有人可以解釋為什么這個算法的空間復雜度是 O(n) 而不是 O(1) 嗎?

function subtotals(array) {
    var subtotalArray = Array(array.length);
    for (var i = 0; i < array.length; i++) {
        var subtotal = 0;
        for (var j = 0; j <= i; j++) {
            subtotal += array[j];
        }
        subtotalArray[i] = subtotal;
    }
    return subtotalArray;
}

您正在為array參數中的每個項目在subtotalArray創建一個新元素。 因此,如果輸入數組中有 1000 個項目,則輸出數組將需要一定量的內存,假設為 X。如果輸入數組中有 100,000 個項目,則輸出數組將需要 100* X 內存,或大約。

(還有在每次迭代中創建的subtotal計數)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM