數據結構學習(2)

      算法的空間複雜度通過計算算法所需的存儲時間實現,對於算法空間複雜度的計算公式:S[n]=O[f[n]],其中,n爲問題的規模,f[n]爲語句關於n所佔存儲空間的函數。

關於大話數據結構這本書算法概述的總結:

算法的定義:算法是解決特定問題求解步驟的描述,在計算機中爲指令的有限序列,並且每條指令表示一個或多個操作。

算法的特性:有窮性,確定性,可行性,輸入,輸出。

算法的設計要求:正確性,可讀性,健壯性,高效率和低存儲量需求。

算法特性與算法設計容易混,需要對比記憶。

算法的度量方法:事後統計方法(不科學,不準確),事前分析估算方法。


判斷算法的好壞:

通過少量的數據是不能做出準確判斷的,如果我們可以對比算法的關鍵執行次數函數的漸進增長性,基本就可以分析出:某個算法,隨着n的變大,他會越來越優於另一個算法,或者越來越差與另一個算法。

然後根據時間複雜度的定義,推導大O階步驟。

通過這個步驟,我們可以在得到算法的運行次數表達式後,很快就能得到它的時間複雜度,即大O階。其實推導大O階很容易,但如何得到運行次數的表達式確實需要數學功底的。


   

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