資料結構學習筆記(一) (轉)

gugu99發表於2007-10-11
資料結構學習筆記(一) (轉)[@more@]

資料結構學習筆記(一)

Bcboy的話:

近期,我又重新開始學習資料結構。由於所用教本為華工版《資料結構》,裡面錯誤繁多,便有了把學習過程中的心得和重點內容整理一遍的想法,以便以後重看時不再迷惑,便寫了這份《資料結構學習筆記》。

解脫之味不讀引,快樂之果不獨嘗,發表是最好的記憶,於是便借csdn這塊沃土將其發表,希望能給迷惑者一點小幫助。

 

e_:zl_cool@sina.com

 :namespace prefix = o ns = "urn:schemas--com::office" />

第一章  緒論

1.  1資料結構

定義:資料結構是一門研究設計中操作的以及它們之間的關係和運算的一門學科。

 

1.  2基本術語

資料(data):描述客觀事物的數、字元以及所有能輸入到計算機中被計算機程式加工處理的資訊集合。

 

資料元素(data element):資料的基本單位,即資料這個集合中的一個客體。一個資料元素可以只有一個資料項,亦可以由若干邏輯上有聯絡的相關資料項組成。

 

例如:一個學生檔案表中,姓名、性別、年齡為資料項,它們可以共同確定一個資料元素;每一項也可以單獨定義一個資料元素。

姓名:

……

性別:

……

年齡

……

……

……

 

資料物件(data ):性質相同的資料元素的集合。它是資料的一個子集。可為無限集or有限集。

 

資料結構(data structure):(略……)

 

1.  邏輯結構(logical structure):指各資料元素間的邏輯關係,是按使用需要建立的,並呈現在使用者面前的資料元素的結構形式。(又稱“資料結構”)

2.  物理結構(physical structure):即資料的存貯結構,是指資料在計算機內世紀的存貯形式。(又稱“存貯結構”)

 

每種資料結構都可透過映象的方式得到相應的存貯結構。

1.  順序映象:順序存貯結構

2.  非順序映象:鏈式存貯結構

 

資料型別(data type):可以認為,資料型別是程式設計語言中已經實現的資料結構。

 

1.  3資料結構的運算

l  建立(create)和消除(destroy)一個資料結構的運算;

l  在資料結構中,插入(insert)和刪除(delete)一個資料元素;

l  對一個資料結構進行訪問(access)和修改(modify)的運算;

l  對一個資料結構進行排序(sort)和查詢(search)的運算。

1.  4演算法和演算法描述

1.4. 1演算法(algorichm)

定義:特定計算的有窮過程。

 

特點:

(1)  動態有窮:當執行一個演算法的時候,不論是何種情況,在經過了有限步驟後,這個演算法一定要終止。

(2)  確定性:演算法中的每條指令都必須是清楚、無二義的。

(3)  輸入:具有0個或0個以上的由外界提供的量。

(4)  輸出:產生一個或多個量(結果);

(5)  可行性:每條指令都充分基本,原則上可由人僅用筆和紙也能在有限的時間內完成。

 

演算法和程式的區別:程式未必能滿足動態有窮。

 

1.4. 2演算法的描述(略……)

1.4.3演算法分析

演算法需用時間和空間來衡量。(趨勢:以後時間將會更重要)

衡量方法:粗略估計演算法中語句執行的最大次數。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-975754/,如需轉載,請註明出處,否則將追究法律責任。

相關文章