總結 資料結構(鄧俊輝) 緒論(基本概念)

2021-10-24 14:30:02 字數 1150 閱讀 1795

1.演算法**:是指基於特定的資料模型,旨在解決某一資訊處理問題而設計的乙個指令程式。**

必須包括以下要素:

輸入與輸出

基本操作、確定性與可行性

有窮性與正確性

退化性和魯棒性

重用性

證明有窮性和正確性的關鍵是:找到整個演算法所具有的某種不變性和單調性。而這單調性,必然是具有單調遞減函式特性的。

退化性和魯棒性是指,即使遇到特殊情況,遇到極端的實際情況,演算法也仍然能夠充分應對。

**2.演算法另乙個比較關鍵的地方在於,**演算法的效率

法的效率只要從以下幾個方面來考察:

可計算性

難解性計算效率

資料結構

可計算性是指,演算法能夠結束而不能成為死迴圈或者在特定的時間內沒法完成。

難解性是指,演算法完成的成本過大,或許是時間過長,或者是空間損耗過大,即便解決了問題,也依然不是最佳選擇。

計算效率,一般從時間和空間兩方面來考察。

資料結構,如何構造支援高效演算法的資料資訊處理策略、技巧和方法,換句話說,怎樣的資料形式(陣列?鍊錶?二叉樹?圖?)可以更快更好地支援演算法。

3.複雜度度量

時間複雜度

處理特定規模輸入的演算法所需要執行的時間,由於執行程式的硬體的不同,時間會有不同,所以採用步數處理特定規模輸入的演算法所需要執行的次數來評價。

空間複雜度

一般只記錄執行演算法程式所需要的額外空間,也就是不記錄原始輸入所佔的空間。

目前已知的複雜度的順序是:

o(1

)、o(loglogn)、o

(logn)、o

(sqrt

(n))、o

(n)、o

(nloglogn)、o

(nlogn)、o

(n^2

)、o(n^

3)、o(2

^n)

一般常用的是:

o(1

)、o(logn)、o

(sqrt

(n))、o

(n)、、o

(nlogn)、o

(n^2

)、o(n^

3)、o(2

^n)

資料結構 緒論 基本概念

一 資料結構的基本概念 1.資料 客觀事物的符號表示 2.資料元素 資料的基本單位 3.資料項 資料結構中討論的最小單元 4.資料物件 性質相同的資料元素的集合 5.資料的邏輯結構 1 線性結構 2 非線性結構 樹 圖 6.資料的物理結構 1 順序儲存 2 鏈式儲存 3 索引儲存 4 雜湊儲存 二 ...

鄧俊輝老師資料結構 zuma程式設計題

題目 第一次提交95,居然是case2錯了,仔細檢查一下,發現建立鍊錶出錯了,沒有考慮開始時是空鍊錶的情況,檢查完後就ok了。100分 如下,include includeusing namespace std struct zuma head,tail,pos int reduce char a1...

資料結構總結 之 基本概念

資料 data 資料元素 data element 資料項 data item 資料物件 data object 資料結構 data structure 資料的邏輯結構 logical structure 分類 線性結構 線性表 非線性結構 樹 圖 或網路 資料的儲存結構 物理結構 physical...