線性表(英語:Linear List)是由n(n≥0)個數據元素(結點)a[0],a[1],a[2]…,a[n-1]組成的有限序列。
php
順序表是在計算機內存中以數組的形式保存的線性表,是指用一組地址連續的存儲單元依次存儲數據元素的線性結構。
算法
鏈表(Linked list)是一種常見的基礎數據結構,是一種線性表,可是並不會按線性的順序存儲數據,而是在每個節點裏存到下一個節點的指針(Pointer)。因爲沒必要須按順序存儲,鏈表在插入的時候能夠達到O(1)的複雜度,比另外一種線性表順序表快得多,可是查找一個節點或者訪問特定編號的節點則須要O(n)的時間,而順序表相應的時間複雜度分別是O(logn)和O(1)。數據庫
在計算機科學中,數組數據結構(英語:array data structure),簡稱數組(英語:Array),是由相同類型的元素(element)的集合所組成的數據結構,分配一塊連續的內存來存儲。利用元素的索引(index)能夠計算出該元素對應的存儲地址。編程
最簡單的數據結構類型是一維數組。例如,索引爲0到9的32位整數數組,可做爲在存儲器地址2000,2004,2008,...2036中,存儲10個變量,所以索引爲i的元素即在存儲器中的2000+4×i地址。數組第一個元素的存儲器地址稱爲第一地址或基礎地址。數組
二維數組,對應於數學上的矩陣概念,可表示爲二維矩形格。例如:數據結構
在C語言中表示爲int a[3][3] = {{3, 6, 2}, {0, 1, -4}, {2, -1, 0}};
。編程語言
在某些狀況下,「向量」一詞也可能表明二維數組,雖然在數學意義上更確切地稱呼爲元組(tuple),而不是向量。但須要注意的是:計算機科學的某些領域,如Matlab,元組是指相似C語言struct類型,具備固定的每每是不一樣類型的數據成員的數據結構。優化
數組一般用於實現數據庫的表格,特別是查詢表;表格有時也被看成是數組的同義詞。指針
數組是最先期和最重要的數據結構之一,不少程序都會用到數組。它們也用於實現許多其餘數據結構,譬如列表(list)和字符串(string)。它們有成效地開展了計算機的定址邏輯。在大多數現代計算機和許多外部存儲設備中,存儲器如同一維數組,索引就是其地址。編譯器、處理單元(特別是向量處理器),常常會針對數組操做進行優化。code
由於在程序運行時能夠計算元素的索引,數組是頗有用的。此外,也能以單一迭代語句就處理數組的許多元素。爲此,數組數據結構的元素必須具備相同的大小,並且應該使用相同的數據類型表示。
數組一詞一般用於表示數組數據類型,一種大多數高端編程語言都會內置的數據類型。數組類型一般由數組結構來實現;然而在某些語言中,它們能夠由散列表、鏈表、搜索樹或其它數據結構來實現。
在算法的描述中,數組一詞特別着重意義爲關係數組或「抽象的數組」,一種理論上的計算機科學模型(抽象數據類型或 ADT),專一於數組的基本性質上。
參考源:
https://zh.wikipedia.org/wiki/%E6%95%B0%E7%BB%84