資料結構總結(一)

2021-10-16 22:12:57 字數 2099 閱讀 9592

資料結構總結(一)

本篇資料結構與演算法學習筆記,感覺也不是筆記,像是栽抄知識點。

緒論:資料結構的意義:資料結構+演算法=程式

資料結構基本概念:

1、 邏輯結構

線性結構:結構中的資料元素之間存在一對一的線性關係。

數結構:結構中的資料元素之間存在一對多的層次關係。

圖結構:結構中的資料元素之間存在多對多的任意關係。

2、 邏輯結構的延伸及基本演算法

3、 物理結構

4、 運算集合(基本操作)

演算法及其描述:

(演算法是描述求解問題方法的操作步驟集合,它是有限序列,每條指令表示乙個或多個操作)

演算法具有的重要特性:

1、 有窮性:有限操作

2、 確定性:不能含有二義性

3、 可行性:每個操作能夠順利執行,並含有結果。

4、 輸入:從外界取得必要的資料。(乙個演算法可以0個或多個輸入)

5、 輸出:(乙個演算法有1個或多個輸出)

演算法設計必須滿足的要求:

1、 正確性:輸入資料都能有滿足的結果

2、 可讀性:

3、 健壯性:非法的輸入資料,演算法能給出相應的反應。

4、 效率與低儲存量需求:執行時間越少效率就越高,越少儲存量越好。

演算法分析:

(用演算法語句的執行次數度量乙個演算法的效率。)

時間複雜度(o),。。。。。。(???感覺學了個寂寞,都是在pdf的知識點總結下來)

還是不明白

線性表:

線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(linear list)是資料結構的一種,乙個線性表是n個具有相同特性的資料元素的有限序列。

定義:由n個相同型別資料元素(結點)a1、a2…組成的有限序列。n:資料元素的個數,也稱表分長度;空表:n=0,記為()。

舉例:英文26個字母構成的表是乙個線性表。

線性表的特徵:

在非空的線性表,有且僅有乙個開始結點a/1,它沒有直接前趨,而僅有乙個直接後繼a/2;

有且僅有乙個終端結點a/n,它沒有直接後繼,而僅有乙個直接前趨a/n-1;

其餘的內部結點a/i(2</=i</=n-1)都有僅有乙個直接前趨a/i-1和乙個直接後繼a/i+1。

陣列元素的個數不能小於或等於1.

線性表的第乙個元素沒有直接前驅最後乙個元素沒有直接後繼。

鍊錶元素的位址可以是不連續的。

求表長——求線性表中元素的個數。

遍歷——從左到右(或從右到左)掃瞄(或讀取)表中的各元素。

按編號查詢——找出表中第i個元素。

按特徵查詢——按某個特定值查詢線性表。

插入——在第i個位置上(即原第i個元素前)插入一新元素。

刪除——刪除原表中的第i個元素。

排序——按元素某特徵值得遞增(或遞減)排序,重排表中各元素。

順序表:(每個元素都前後有序、整整齊齊/緊密聯絡)

線性表兩種儲存方式:

順序表的形式(按順序存放、位址連續)

鍊錶的形式

順序表元素的插入:insertlist(l,x,3),l:原元素;x:要插入的字元;3:要插入的位置i。

調皮的鍊錶:

鍊錶不是位址連續的空間,他的插入和刪除不需要移動元素,它看到記憶體有空餘位址就可以毫無顧忌地擠進去,所以我們叫它」調皮的鍊錶「

單鏈表結點的插入和刪除:

線性表的鏈式表示和實現:

單鏈表的結構:

單鏈表中構成鍊錶的結點只有乙個指向直接後繼結點的指標域。

其結構特點:邏輯上相鄰的資料元素在物理上不一定相鄰。

順序儲存結構和鏈式儲存結構有所不同。

靜態鍊錶

對於線性鍊錶,也可用一維陣列來進行描述。這種描述方法便於在沒有指標型別的高階程式語言中使用鍊錶結構。用陣列描述的鍊錶,即稱為靜態鍊錶。

關於靜態鍊錶:

• 我們對陣列的第乙個和最後乙個元素做特殊處理,他們的data不存放資料。

• 我們通常把未使用的陣列元素稱為備用鍊錶。

• 陣列的第乙個元素,即下標為0的哪個元素的cur(游標)就存放備用鍊錶的第乙個結點的下標。

• 陣列的最後乙個元素,即下標為maxsize-1的cur則存放第乙個有數值的元素的下標,相當於單鏈表中的頭結點作用。

大話資料結構 總結一

1.邏輯結構與物理結構 按照視點的不同,我們把資料結構分為邏輯結構和物理結構。邏輯結構 邏輯結構是指資料物件中資料元素之間的相互關係。邏輯結構分為以下四種 集合結構 集合結構中的資料元素除了同屬於乙個集合外,它們之間沒有其他關係。各個資料元素是 平等的 它們的共同屬性是 同屬於乙個集合 線性結構 線...

Java資料結構之線性資料結構總結(一)

我們學習的資料結構都是從線性資料結構開始的,深刻理解線性資料結構非常必要。陣列我們可以理解為乙個強物理概念在計算機執行世界的乙個對映,是乙個物理世界到軟體工程呈現的結果,即連續的儲存空間在程式語言中的呈現。所以我們經常將陣列與鍊錶或者程式語言中的引用作對比。由於資料資料儲存一般是乙個連續的儲存空間,...

資料結構 總結

不知不覺間,跟隨賀老師的步伐已經乙個學期了。記得大一的時候,那個時候還沒有接觸到計算機專業的知識,那個時候便聽說了賀老師,那個時候對於老師厲害還沒有什麼概念,只是覺得可能是老師比較博學,比較深層次的了解一些計算機的內容,卻從未想過,這種厲害更加深入到了學生的腦海中,甚至可能會對乙個學生,一群學生,越...