「陣列」結構其實就是一排緊密相鄰的可數記憶體,並提供乙個直接訪問單一資料內容的計算方法。通常陣列的使用可以分為一維陣列、二維陣列與多維陣列等,其基本的工作原理都相同,以python為例。
score[0]
*5
score陣列
索引score[0]
0score[1]
1score[2]
2score[3]
3score[4]
4陣列的儲存結構示意圖
二維陣列
二維陣列可視為一維陣列的擴充套件,都是用於處理資料型別相同的資料,差別只在於維數的宣告。
number=[[
11,12,
13],[
12,24,
35],[
13,26,
37]]
列索引[0]
列索引[1]
列索引[3]
行索引[0]
1112
13行索引[1]
2224
26行索引[2]
3335
37三維陣列
arr=[[
[33,4
,6,12
],[23
,71,6
,15],
[55,38
,6,18
],[21
,9,15
,21],
[38,69
,18,26
],[90
,101,89
,16]]】
使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機讀取的優點,同時鍊錶由於增加了結點的指標域,空間開銷比較大。鍊錶最明顯的好處就是,常規陣列排列關聯專案的方式可能不同於這些資料專案在記憶體或磁碟上順序,資料的訪問往往要在不同的排列順序中轉換。鍊錶允許插入和移除表上任意位置上的節點,但是不允許隨機訪問。
單項鍊表
雙向鍊錶
迴圈鍊錶
堆疊是一種資料結構。堆疊都是一種資料項按序排列的資料結構,只能在一端(稱為棧頂(top))對資料項進行插入和刪除,堆疊是乙個特定的儲存區或暫存器,它的一端是固定的,另一端是浮動的。
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。
基本運算
addq(elemtype x)
——在佇列的尾部插入乙個新的元素x。隊尾的位置由rear指出。
delq(q)
——刪除佇列的隊頭的元素。隊頭的位置由front指出。
emptyq(q)
——測試佇列q是否為空隊。當隊列為空時返回乙個真值,否則返回乙個假值。
frontq(q)
——取得佇列q的隊頭元素。該運算與delq(q)不同,後者要修改隊頭元素指標。
setnull(q)
——建立乙個空隊q,這個運算與線性表置空表類似
資料結構的種類 何為資料結構 常用的演算法歸類
指反映資料元素之間的邏輯關係的資料結構,其中的邏輯關係是指資料元素之間的前後間的關係,而與他們在計算機中的儲存位置無關。邏輯結構包括 指資料的邏輯結構在計算機中儲存空間的存放形式。資料的邏輯結構在計算機儲存空間中的存放形式稱為資料的物理結構 也稱儲存結構 一般來說,一種資料結構的邏輯結構根據需要可以...
MDM幾種型別的資料結構
sap mdm建模會經常用到的幾種型別 普通型別 field 文字型別 text 文字型別,允許的長度 333個字元。整數型別 integer 4個位元組的整數型別。布林型別 boolean 只有true或false兩個值的布林型別。整數型別 autoid 由sap mdm自動遞增的整數型別。mai...
資料結構 帶權 種類並查集
給出乙個區間的長度 n,及 m 個子區間和,形如 x y z,表示 子區間 x,y 的和為 z 如果乙個 子區間和 與前面的 子區間和 衝突,即為錯誤 而且這個 子區間和 將在接下來的判斷中被忽略 求總錯誤個數。帶權並查集 include include include using namespac...