iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
自我挑戰組

資料結構面面觀系列 第 11

演算法效率評估指南(下)

  • 分享至 

  • xImage
  •  

空間複雜度(SPACE COMPLEXITY)
【定義】是指從主程式呼叫該副程式開始到完成的過程,所佔用的「記憶體空間」。
例如:參數、變數宣告,回傳值及傳回位址時,都會佔用記憶體空間。

說明:保存A函數當時執行時之狀態
包括:(1)參數值(2)區域變數值(3)返回位址(Return Address)。

時間複雜度與空間複雜度之分析

基本上,時間複雜度的分析比空間複雜度的分析來得重要,因為當資料庫龐大時,時間複雜度會有較大的差異,但是空間複雜度則差異較小。
再加上目前的記憶體相對便宜,因此,目前在資料結構所探討演算法效率之評估,都較著重於時間複雜度方面的評估。

時間複雜度(TIME COMPLEXITY)
【定義】
是指計算執行程式所花費的時間。一般而言,我們可以將一個程式P的時間複雜度表示為T(P)的形式。而T(P)記錄了程式執行次數n的成長速率。

演算法的「執行次數」
【定義】一般評估執行時間是依程式碼所被執行的總次數來計算。也就是所謂的「頻率次數」,當頻率次數越高時,代表所需的執行時間越長。


上一篇
演算法效率評估指南(上)
下一篇
演算法時間與空間概述
系列文
資料結構面面觀24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言