資料結構
這是資料結構的第一章,講的都是有關資料結構的基礎知識。
計算機解決問題的基本步驟:首先要從具體問題抽象出乙個適當的數學模型,然後設計乙個解此數學模型的的演算法,最後編出程式,進行除錯、調整直至得到最終解答;
資料結構(學科):一門研究非數值計算的程式設計問題中計算機的操作物件以及他們之間關係和操作等的學科。
資料(data):是對客觀事物的符號表示,在電腦科學中是指所有能輸入到計算機中並被電腦程式處理的符號的總稱;
資料元素(data element):資料的基本單位;乙個資料元素可由若干資料項(data item)組成;
資料物件(data object):性質相同的資料元素的集合,是資料的乙個自給;
資料結構(data structure):相互之間存在一種或者多種特定關係的資料元素的集合;
四種基本結構:
1.集合;
2.線性結構:資料元素之間存在一對一的關係;
3.樹形結構:資料元素之間存在一對多的關係;
4.圖狀結構或網狀結構:資料元素之間存在多對多的關係;
資料結構的形式定義為:資料結構是乙個二元組
data_structure=(d,s)
其中:d是資料元素的有限集,s是d上關係的有限集。
抽象資料型別(abstract data type):是指乙個數學模型以及定義在該模型上的一組操作。
演算法:對特定問題求解步驟的一種描述,它是指令的有限序列,其中每條指令表示乙個或多個操作;
演算法的五個重要特性:
1.有窮性;
2.確定性;
3.可行性;
4.輸入;
5.輸出。
演算法設計的要求:
1.正確性;
2.可讀性;
3.健壯性;
4.效率與低儲存需求。
演算法效率的度量:
演算法執行時間需依據該演算法編制的程式在計算機上執行時所消耗的時間來度量。而度量乙個程式的執行時間有兩種方法。
1.事後統計的方法,這種方法有兩個缺陷:一是必須先執行依據演算法編制的程式;二是所得時間的統計量依賴於計算機的硬體、軟體的環境因素,有時容易掩蓋演算法本身的優劣。
2.事前分析估算的方法,乙個用高階語言編寫的程式在計算機上執行所消耗的時間取決以下因素:
①.依據的演算法選用的策略;
②.問題的規模;
③.書寫程式的語言;語言越高階,效率越低;
④.編寫**所產生的機器**的質量;
⑤.機器執行指令的速度。
3.一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函式f(n),演算法的時間度量記作
t(n) = o(f(n))
它表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作演算法的漸進時間複雜度,簡稱時間複雜度。
語句的頻度:該語句重複執行的次數。
第一次寫不知道該怎麼寫,也不了解csdn的使用,所以這次寫的就很差。寫這個目的呢,一是想通過寫這個當做專業課的複習;二是對自己學習的乙個記錄吧。
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 緒論
程式 資料結構 演算法 資料 對客觀事物的符號表示。資料元素 資料的基本單位,由若干個資料項組成。資料項是資料不可分割的最小單位。資料物件 性質相同的資料元素的集合,使資料的乙個子集。資料元素是相互之間存在一種或多種特定關係的資料元素的集合。預定義常量型別 函式結果狀態嗎 define true 1...
資料結構緒論
資料結構是一種抽象資料的過程,這種能力是任何工具都無法代替的。學習資料結構的目的 資料結構是計算機專業的基礎,它為幾乎所有的軟體設計的基礎。同時他也培養求解複雜問題的能力。那麼,什麼是資料結構呢,這個概念是很重要的,人月神話上有一段話,說人們往往喜歡將問題分解開來處理,但是這樣一來造成了對整個問題的...