緒論與複雜度

2021-10-10 15:54:01 字數 949 閱讀 7598

在資料結構中,資料的最小單位是資料項。

在資料結構中,資料的基本單位是資料元素。

例:求時間複雜度

void

loveyou

(int flag,

int n)

}}

最好情況:元素n在第乙個位置,最好時間複雜度:t(n)=o(1)

最壞情況:元素n在最後乙個位置,最壞時間複雜度:t(n)=o(n)

平均情況:假設元素n在任意乙個位置的概率相同,為1/n

迴圈次數:x=(1+2+3+…+n)1/n=n(n+1)/21/n=(n+1)/2

複雜度為o(1)表示複雜度與變數無關。

資料儲存結構包括哪幾種型別?資料邏輯結構包括哪幾種型別?

儲存結構:順序儲存,鏈式儲存,索引儲存,雜湊儲存

邏輯結構:集合,線性結構,樹,圖

資料元素之間的關係在計算機中有幾種表示方法?各有什麼特點?

(1)順序儲存結構:資料元素順序存放,每個儲存結點只有乙個元素,儲存位置顯示元素之間的邏輯關係。儲存密度大,但有些操作(如插入,刪除)效率較差。

(2)鏈式儲存結構:每個村出點除包含資料元素資訊之外還包含一組(至少乙個)指標反映資料元素之間的邏輯關係。這種方式不要求儲存空間連續,便於動態操作(如插入,刪除),但儲存空間開銷大(用於儲存指標),且不能對半查詢。

(3)索引儲存結構:除資料元素儲存在一位址連續空間外,尚需建立乙個索引表的索引指示儲存結點的儲存位置(下標)或儲存區間端點(下標,非稠密儲存),兼有靜態,動態特性。

(4)雜湊儲存結構:利用雜湊函式解決衝突的方法,將關鍵字雜湊在連續的有限位址空間內,將雜湊函式的值解釋成關鍵字所在元素的儲存位址。其特點是訪問速度快,只能按關鍵字隨機訪問,不能順序訪問和折半訪問。

評價演算法好壞的四個方面:正確性,易讀性,健壯性,時空效率

演算法的五個重要特徵:有窮性,確定性,可行性,零個或多個輸入,乙個或多個輸出。

時間複雜度與空間複雜度

空間複雜度 space complexity 是對乙個演算法在執行過程中臨時占用儲存空間大小的量度,記做s n o f n 比如直接 插入排序 的時間複雜度 是o n 2 空間複雜度是o 1 而一般的 遞迴演算法就要有o n 的空間複雜度了,因為每次遞迴都要儲存返回資訊。乙個演算法的優劣主要從演算法...

時間複雜度與空間複雜度

本文是對時間複雜度以及空間複雜度的乙個理解 時間複雜度 由於環境的不同,同樣的 執行所需要的時間是不同的,所以是不能拿來比較的 而函式中執行的次數確實一樣的 所以時間複雜度就是 程式每個迴圈中的語句總共會執行的次數 時間複雜度的表示方法 大o漸進表示法 o f n 這裡的f n 是什麼呢?void ...

時間複雜度與空間複雜度

本文部分取自搜狗百科 在求演算法效率時,通常有事前分析和事後分析兩種方法,事後分析因為必須實際檢驗過後才能得出答案,且可能由於硬體方面等外部原因影響結果而不被推廣,事前分析的主要就是在考量乙個演算法的基本執行次數,這就是時間複雜度。時間複雜度 一般情況下,演算法中基本操作重複執行的次數是問題規模n的...