資料結構學習彙總

2021-10-22 20:50:42 字數 1859 閱讀 3662

常用資料結構

資料結構包括三方面的內容,資料的邏輯結構、資料的儲存結構和資料的運算。下面就將分析這三方面的內容。

資料的儲存結構是資料結構的乙個重要內容。在計算機中,資料的儲存結構可以採用如下4種方法來實現。

< 1 > 順序儲存方式簡單地說,順序儲存方式就是在一塊連續的儲存區域乙個接著乙個地存放資料。順序儲存方式把邏輯上相鄰的結點儲存在物理位置上相鄰的儲存單元裡,結點間的邏輯關係由儲存單元的鄰接關係來體現。順序儲存方式也稱為順序儲存結構(sequential storage structure),一般採用陣列或者結構陣列來描述。

線性儲存方式主要用於線性邏輯結構的資料存放,而對於圖和樹等非線性邏輯結構則不適用。

< 2 > 鏈結儲存方式鏈結儲存方式比較靈活,其不要求邏輯上相鄰的結點在物理位置上相鄰,結點間的邏輯關係由附加的引用字段表示。乙個結點的引用字段往往指向下乙個結點的存放位置。

鏈結儲存方式也稱為鏈式儲存結構(linked storage structure),一般在原資料項中增加引用型別來表示結點之間的位置關係。

< 3 > 索引儲存方式索引儲存方式是採用附加的索引表的方式來儲存結點資訊的一種儲存方式。索引表由若干索引項組成。索引儲存方式中索引項的一般形式為:(關鍵字、位址)。其中,關鍵字是能夠唯一標識乙個結點的資料項。索引儲存方式還可以細分為如下兩類。

< 4 > 雜湊儲存方式雜湊儲存方式是根據結點的關鍵字直接計算出該結點的儲存位址的一種儲存方式。在實際應用中,往往需要根據具體的資料結構來決定採用哪種儲存方式。同一邏輯結構採用不同的儲存方法,可以得到不同的儲存結構。而且這4種基本儲存方法,既可單獨使用,也可組合起來對資料結構進行儲存描述。

在電腦科學的發展過程中,資料結構也在隨著發展。目前,程式設計中常用的資料結構包括如下內容。

陣列(array)陣列是一種聚合資料型別,是將具有相同型別的若干變數有序地組織在一起的集合。陣列可以說是最基本的資料結構,在各種程式語言中都有對應。乙個陣列可以分解為多個陣列元素,按照資料元素的型別,陣列可以分為整型陣列、字元型陣列、浮點型陣列、物件陣列等。陣列還可以有一維、二維及多維等表現形式。

資料結構之陣列、字串

2)棧(stack)棧是一種特殊的線性表,其只能在乙個表的乙個固定端進行資料結點的插入和刪除操作。棧按照後進先出的原則來儲存資料,也就是說,先插入的資料將被壓入棧低,最後插入的資料在棧頂,讀出資料時,從棧頂開式逐個讀出。棧在組合語言程式中經常用於重要資料的現場保護。棧中沒有資料時,稱為空棧。

3)佇列(queue)佇列和棧類似,也是一種特殊的線性表。和棧不同的是,佇列只允許在表的一端進行插入操作,而在另一端進行刪除操作。一般來說,進行插入操作的一端稱為隊尾,進行刪除操作的一端稱為隊頭。佇列中沒有元素時,稱為空佇列。

鍊錶是一種資料元素按照鏈式儲存結構進行儲存的資料結構,這種儲存結構在物理上具有非連續的特點。鍊錶由一系列資料結點構成,每個資料節點包括資料域和引用域兩部分。其中,引用域儲存了資料結構中下乙個元素存放的位址。鍊錶結構中資料元素的邏輯順序是通過鍊錶中的引用鏈結次序來實現的。

資料結構之鍊錶

5)樹(tree)樹是典型的非線性結構,其是包括n個結點的有窮集合k。在樹結構中,有且僅有乙個根結點,該結點沒有前驅結點。在樹結構中的其他結點都有且僅有乙個前驅結點,而且可以有m個後繼結點,m≥0。

6)圖(graph)圖是另外一種非線性資料結構。在圖結構中,資料結點一般稱為頂點,而邊是頂點的有序偶對。如果兩個頂點之間存在一條邊,那麼就表示這兩個頂點具有相鄰關係。

7)堆(heap)堆是一種特殊的樹型資料結構,一般討論的堆都是二叉堆。堆的特點是其根結點的值是所有結點中最小的或者最大的,並且根結點的兩個子樹也是乙個堆結構。

8)雜湊表(hash)雜湊表源自於雜湊函式(hash function),其思想是如果在結構中存在關鍵字和t相等的記錄,那麼必定在f(t)的儲存位置可以找到該記錄,這樣就可以不用進行比較而直接取得所查記錄。

資料結構學習

什麼是資料結構 對計算機記憶體中的資料的一種安排。資料結構有那些?優缺點?1.陣列 插入快 知道下標 查詢慢,刪除慢,大小固定 2.有序陣列 比無序的查詢塊,刪除和插入慢,大小固定 3.棧 吃多了吐 個人理解 4.佇列 吃多了拉 個人理解 5.鍊錶 插入快,刪除快,查詢慢 6.二叉樹 查詢 插入 刪...

資料結構學習

鍊錶 class listnode definit self,x self.val x 節點值 self.next none 後繼節點值 例項化節點 n1 listnode 4 節點head n2 listnode 5 n3 listnode 1 構建引用指向 n1.next n2 n2.next ...

資料結構 學習

外部學習資料位址 一 描述 1.arraylist 是最常用的list 實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。2.陣列的缺點是每個元素之間不能有間隔,當陣列大小不滿足時需要增加儲存能力,就要將已經有陣列的資料複製到新的儲存空間中。3.當從arraylist 的中間位置插入或者刪...