空間複雜度計算方法

原文鏈接:https://ask.csdn.net/questions/326029?sort=id
算法題中經常有空間複雜度的限制,特此記錄

簡單來說,假設原始數據大小爲n,一個算法需要m大小的內存才能運行,那麼我們就有一個函數f(n)=m。這個函數去掉常數項和尾數項就是空間複雜度。

比如說,如果用冒泡排序對數據排序,如果直接在原始數據上排,那麼根本不需要額外的存儲空間,而最多隻需要定義幾個變量,那麼複雜度就是1

如果排序產生一個新的數組,不修改原來的數組,那麼對於排序n個數據,就需要n個新的存儲空間,那麼複雜度就是n。

再比如,對於兩個數組,求它們的笛卡兒積(比如a=1,2,3 b=a,b,結果是1a 1b 2a 2b 3a 3b),那麼它的複雜度就是n^2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章