常見的經性結構有線性表,棧,隊列,雙階列,數組,串.
- 數據結構中數據的邏輯結構分為線性結構和非性結構.
- 線性結構就是n個數據元素的有序(次序)集合.
- 線性結構特征:
1)只有一個首結點
2)只有一個尾結點
3)除首尾結點外, 其它結點稱為內部結點
4)首結點只有后繼結點,無前趨結點.
5)尾結點只有前趨結點,元后繼結點.
6)內部結點有一個前趨結點,有一個后繼結點. - 線性結構中的數據元素存在着"一對一"關系.
- 相對於線性結構,非線性結構中的數據元素間存在"一對多"(樹結構)或"多對多"(圖結構)的關系.
線性表的存儲結構
- 順序表:用順序存儲方式存儲的線性表簡稱為順序表.順序存儲是指將線性表元素按照邏輯順序依次存儲在一組連續的地址單元中.
- 鏈式表:通過結點中的鏈域將線性表中n個結點按其邏輯順序鏈接在一起. 分為:單向鏈表, 雙向鏈表,循環鏈表.
常用線性結構
- 線性表:線性表(Linear List)是由n(n≥0)個數據元素(結點)a1,a2,…,an組成的有限序列。
- 棧: 限定在表的一端進行插入和刪除的線性表.其特點是元素變化按"后進先出"原則進行, 因此又稱為"后進先出表"(Last in first out, 簡稱LIFO).
棧的術語:
棧頂:允許插入/刪除元素的一端.
棧底:與棧頂相對的另一端.
進棧:向棧頂插入元素.
出棧:刪除棧頂元素.
棧的基本運算:進棧, 出棧, 取棧頂元素, 判棧空, 置棧空
- 隊列: 限制只能在一端插入元素,在另一端刪除元素的線性表.其特點為隊列元素變化按"先進先出"原則進行,因此雙稱"先進先出表" (First in first out: 簡稱:FIFO).
隊列的術語:
隊對:允許刪除元素的一端
隊尾:允許插入元素的一端
入隊:向隊列中插入元素
出隊:刪除隊列中的元素
隊列的基本運算: 入隊 出隊 取隊頭元素 判隊空 置隊空
- 串: 串就是字符串,串是一種特殊的線性表(結點由字符組成)
參考:
線性結構:http://baike.baidu.com/view/390966.htm
棧:http://baike.baidu.com/subview/38877/12246229.htm#viewPageContent