1.1 資料結構在 程式設計中的作用
1) 資料結構:待處理的資料以及資料之間的關係。
2) 資料表示: 將資料以及資料之間的關係儲存到計算機的記憶體中。
3) 資料處理:具體的操作步驟,將問題求解的基本思路形成演算法。
沃思給出乙個著名的公式: 資料結構+演算法=程式
程式設計的一般過程:
1.2 資料結構討論的主要內容
1.3 資料結構的基本概念
1.3.1 資料結構(相互之間存在一定關係的資料元素的集合)
1) 資料:資訊的載體,在電腦科學中是指所有能輸入到計算機中並能被電腦程式識別和處理的符號集合。
2)資料元素:資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。
3)資料項:構成資料元素的不可分割的最小單位。
4) 資料的邏輯結構:資料元素之間邏輯關係的整體。
可分為四類:集合、線性結構、樹結構、圖結構(後兩個也稱為非線性結構)。
5)資料的儲存結構(物理結構):是資料及其邏輯結構在計算機中的表示。
通常有兩種:
順序儲存結構:用一組連續的儲存單元依次儲存資料元素,資料元素之間的邏輯關係由元素的儲存位置來表示。
鏈式儲存結構:用一組任意的儲存單元儲存資料元素,資料元素之間的邏輯關係用指標來表示。
6)資料的處理:操作、插入、刪除、改正、檢索。
1.3.2 抽象資料型別
1)資料型別:一組值的集合以及定義於這個值集上的一組操作的總稱。
2)抽象:抽出問題本質的特徵而忽略非本質的細節,是對具體事物的乙個概括。
3)抽象資料型別(adt):是乙個資料結構以及定義在該結構上的一組操作的總稱。
1.4 演算法計算法分析
1.4.1 演算法及其描述方法
1)演算法:是對特定問題求解步驟的一種描述,是指令的有限序列。
2)特徵:
輸入:乙個演算法有零個或多個輸入(即演算法可以沒有輸入),這些輸入通常取自於某個特定的物件集合。
輸出:乙個演算法有乙個或多個輸出(即演算法必須要有輸出),通常輸出與輸入之間有著某種特定的關係。
有窮性確定性
可行性3)「好」演算法:正確性、魯棒性、簡單性、抽象分級、高效性。
4)演算法的描述方法
自然語言(按步驟平述,易理解但冗雜)、流程圖、程式語言、偽**(介於自然語言和程式語言之間的方法)。
例: 1. r=m%n;
2. 迴圈直到r等於0
2.1 m=n;
2.2 n=r;
2.3 r=m%n;
3. 輸出n;
1.4.2 演算法分析
1)度量演算法效率的方法
2)演算法的時間複雜度(通常用大o表示)
o用來描述增長率的上限
在源**程式設計中,基本語句執行一次記o(1),稱為常量階;
基本語句執行次數為n,記o(n),稱為線性階;
常見的時間複雜度:
o(log2n)2n)
3) 最好、最壞和平均情況(比較乙個元素、比較n-1個元素和比較n/2個元素)
4)演算法的空間複雜度
s(n)=o(f(n))
5)演算法分析舉例
6)定理:
資料結構第一章緒論
緒論主要是對計算機資料結構一書有大致了解,系統的講解資料結構在程式結構的應用,資料結構的相關概念,演算法在程式中的應用,從而從巨集觀上了解資料結構,更有利於以後學習。1 資料結構在程式中的應用 其實乙個公式就可以了解程式和演算法還有資料,即資料結構 演算法 程式,由公式可知資料結構是程式的一部分。2...
資料結構 第一章 緒論
用計算機求解任何問題都離不開程式設計,程式設計的實質是資料表示和資料處理。一,資料結構基本概念 1.資料是資訊的載體,是電腦程式處理的原料。可以將資料分為兩大類 一類是整數實數等數值資料,一類是文字,影象聲音,圖形等非數值資料。資料元素是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。構...
資料結構 第一章 緒論
程式設計的實質是資料表示和資料處理。資料要能被計算機處理,首先必須能夠儲存在計算機的記憶體中,這項任務稱為資料表示,其核心是資料結構 乙個實際問題的求解必須滿足各項處理要求,這項任務稱為資料處理,其核心是演算法。資料結構課程主要是討論資料表示和資料處理的基本方法。1.1 1.2 1 資料的邏輯結構 ...