第一章:資料結構緒論:
1、資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科。
2、程式設計=資料結構+演算法
基本概念和術語:
資料、資料元素、資料項、資料物件、
(1)資料:描述客觀事物的符號,是計算機中可以操作的對 象,是能被計算機識別,並輸入給計算機處理的符號集合。
兩個前提:可以輸入到計算機中,能被電腦程式處理。
(2)資料元素:是組成資料的、有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄。
(3)資料項:乙個資料元素可以由若干個資料項組成。資料項是資料不可分割的最小單位。
(4)資料物件:是性質相同的資料元素的集合,是資料的子集。
3、資料結構
是相互之間存在一種或者多種特定關係的資料元素的集合。
4、邏輯結構與物理結構
邏輯結構:資料物件中資料元素之間的相互關係。
集合結構、線性結構、樹狀結構、圖形結構
(1)集合結構:集合中資料元素除同屬於乙個集合外,它們之間沒有其他關係。
(2)線性結構:資料元素之間一對一的關係
(3)樹狀結構:資料元素之間存在一對多的層次關係
(4)圖形結構:資料元素是多對多的關係
物理結構:資料的邏輯結構在計算機中儲存形式。
順序儲存、鏈式儲存
(1)順序儲存結構:資料元素存放在位址連續的儲存單元中,其資料間的邏輯關係和物理關係是一致的。
(2)鏈式儲存:把資料元素放在任意的儲存單元裡,這組儲存單元可以使連續的,也可以非連續。靈活
邏輯結構面向問題,物理結構面向計算機。
資料型別:一組性質相同的值的集合及定義在此集合上的一些操作的總稱。
抽象:抽取事物具有的普遍性的本質。
抽象資料型別:乙個數學模型及定義在該模型上的一組操作。
演算法:1、演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。
2、演算法五個基本特性:
輸入(大於等於0個)、輸出(最少乙個)、
有窮性、確定性(無二義性)、可行性。
3、演算法設計要求:
正確性、可讀性、健壯性、時間效率高、儲存量低
4、演算法效率的度量方法:
事後統計方法、事前分析估算方法
5、高階程式語言編寫的程式在計算機上執行時所消耗的時間取決於
6、演算法時間複雜度與空間複雜度
時間複雜度:
常數階:o(1)
線性階:o(n)
平方階:o(n^2)
空間複雜度:
計算演算法所需要的儲存空間實現。
資料結構和演算法緒論
讓程式設計改變世界 change the world by program 資料結構和演算法這門計算機必修課歷來無論在哪個學校,都是無比乏味和催人入睡的。因為很多時候,考研玩的不是智商,其實就是乙個人投入的時間而已。什麼是資料結構?資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間...
資料結構和演算法緒論
資料是資訊的載體,是描述客觀事物的數 字元,以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科 簡單來說 程式設計 資料結構 演算法 資料結構研究的就是關係,就是資料元素相互之間存在的一種或多種...
資料結構和演算法緒論
程式設計 資料結構 演算法 資料結構就是關係,沒錯,就是資料元素相互之間存在的一種或多種特定關係的集合。資料型別 是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。原子型別 是不可以再分解的基本型別,包括整型 實型 字元型等。結構型別 自若干個型別組合而戚,是可以再分解的。例,整型陣列是由...