[英]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.