∞本章是經過資源的導入解析了
1.1數據結構的基本概念
1.2算法和算法分析
1.3算法描述與C語言數據類型
================================We will Start==========================================
1.1數據結構的基本概念
定義:數據結構是一門研究非數值計算的程序設計問題中計算機粗啊哦作對象及他們之間的關係和操做的學科
1.1.2 :數詞概念
1.數據(data):數據是指可以輸入到計算機中,並被計算機識別和處理的符號的集合
2.數據元素(data element):數據元素時數據的基本單位.在計算機中,數據元素一般做爲一個總體來處理.一個數據
元素能夠由若干個數據項組成.數據項是具備獨立意義的最小數據單位,是對數據元素屬性的描述
3.數據對象(data object):數據對象是具備相同性質的數據元素的集合,是數據的一個子集.
eg:整數集合:N={0,±1,±2,...}無限集
字符集合:c={'A','B',....,'Z'}有限集
4.邏輯結構(logic structure):描述的是數據元素之間的
(1)線性結構:數據元素之間存在一對一的關係
(2)樹型結構:數據元素之間存在一對多的關係
(3)圖結構或網結構:結構中的數據元素之間存在多對多的關係算法
注:數學的方法給出數據的邏輯結構的定義,數據結構可由一個二元組(D,S)定義,
其中D是數據元素的有限集,S是D中元素的關係的有限集。
5.存儲結構(storage structure):存儲數據又叫物理結構,是數據結構在計算機中的表示
順序存儲結構
鏈式存儲結構
總結:
數據結構的內容
可概括爲三個部分邏輯結構、存儲結構和運算集合
==========================================================================
1.2算法和算法分析
1.2.1算法(Algorithm)
(1):有窮性:一個算法包括的指令數必須有限,每一條指令的執行次數也必須有限
(2):肯定性:算法的每一條指令必須有確切的定義,無二性
(3):可行性:算法中的每一條指令均可以經過有限次、可實現的基本運算且在有限的時間內實現
(4):輸入:一個算法具備零個或多個輸入
(5):輸出:一個算法具備一個或多個輸出
設計好的算法應考慮:1.正確性2.可讀性3.健壯性4.高效性和低存儲量
1.2.2算法分析
有兩種衡量算法效率的方法
(1)過後統計法
(2)事前分析估算法
1.算法的時間複雜度
:算法中的基本操做執行的次數是問題規模n的某個函數f(n),算法的時間量度記做:數組