數據結構一覽

以下係常用嘅數據結構一覽。

線性數據結構
陣列同矩陣：抽象咁舉個例子，下面呢張圖有一個 1D 嘅陣列，入面有 10 個元素，索引係由 0 數到 9。如果呢個陣列叫 a，數學上呢十個元素就會叫 ，大部份程式語言則會寫成 a[0]、a[1]、a[2]⋯⋯a[9]。

串列：表示一系列嘅嘢，原則上係一種循序存取嘅數據結構。用以下嘅 Python 碼做例子：
my_list = [3, 6, 9, 12] # my_list 係條串列，[3, 6, 9, 12]

empty_list = [] # 創建一條空嘅串列，叫 empty_list

my_list.append([4,5]) # 將 [4,5] 當一嚿數據噉加落去，即係會變成 [3, 6, 9, 12, [4, 5]]。

my_list.extend([4,5]) # 將 4 同 5 分開噉加落去，即係會變成 [3, 6, 9, 12, [4, 5], 4, 5]。

my_list.insert(1, 4) # 將 4 加落去第 1 個位度，即係會變成 [3, 4, 6, 9, 12, [4, 5], 4, 5]。
一段串列唔使格格都裝同一隻類型嘅數據，所以以下噉嘅 Python 碼係行得通嘅：
my_list.append('meh') # 將 'meh' 呢段字串加落去 my_list 度，my_list 會變成 [3, 4, 6, 9, 12, [4, 5], 4, 5, 'meh']。
鏈結串列

樹

樹係一種好有用嘅數據結構，重點特性係拃數據有「高低層」之分。一樖數據樹都係會
有若干粒節點，每粒節點都儲住咗件數據；而且
啲節點分層－除咗做起始點嗰粒節點之外，每粒節點有一粒母節點；
一粒節點可以有若干粒子節點；
於是就形成拃節點喺起始點嗰度一層層噉每層都分叉嘅樣，而是但攞粒根節點以外嘅節點，粒節點同根節點之間都有條獨一無二嘅路徑連住兩點。喺電腦科學上，啲人通常會將數據樹畫做樹狀圖噉嘅樣，根節點畫喺最頂，根節點嘅子節點會並排噉列喺根節點下面，根節點嘅子節點嘅子節點會並排噉列喺下一層... 如此類推。好似下面幅圖噉，幅圖表示緊樖數據樹，嗰點係樖數據樹嘅根節點，根節點下一層嘅係佢啲子節點，再下一層嗰啲係根節點嘅子節點嘅子節點... 如此類推，而每粒節點入面嗰個整數就係粒節點裝住嗰件數據。

圖

圖係款進階嘅數據結構。响最基本上，一幅圖會有
若干粒節點，而且
每粒節點都最少有一條邊連去另外一粒節點嗰度；
每粒節點通常仲會褦住若干件數據，一條邊都可以帶有數據；
如果有兩粒節點之間有條邊連住，佢哋就算係相鄰嘅，而一幅圖嘅大細可以由節點嘅數量或者節點之間嘅邊嘅數量嚟反映。好似下圖噉，下圖係一幅有 6 粒節點嘅圖數據，當中節點 1 同節點 2 之間有連結、節點 1 同節點 5 之間有連結... 如此類推。

其他
集
堆疊
隊列

數據結構
演算法一覽
編程嘅大綱

攷

數據
編程