20176408李俊 線性表
阿新 • • 發佈:2018-11-28
線性表
簡稱表,是n(n≥0)個具有相同型別的資料元素的有限序列。
線性表的長度:線性表中資料元素的個數。
空表:長度等於零的線性表,記為:L=( )。
非空表記為:L=(a1, a2 , …, ai-1, ai , …, an)
ai(1≤i≤n)稱為資料元素;下角標 i 表示該元素線上性表中的位置或序號
線性表的特性
1.有限性*:線性表中資料元素的個數是有窮的。
2.相同性*:線性表中資料元素的型別是同一的。
3.順序性*:線性表中相鄰的資料元素ai-1和ai之間存在序偶關係(ai-1, ai),即ai-1是ai的前驅, ai是ai-1的後繼;a1 無前驅,an無後繼,其它每個元素有且僅有一個前驅和一個後繼
1.線性表的基本操作根據實際應用而定;
2.複雜的操作可以通過基本操作的組合來實現;
3.對不同的應用,操作的介面可能不同。
刪除表中的值為x的元素
刪除表中的第i個元素
儲存要點
依次儲存線性表中的資料元素
順序表的屬性儲存空間的起始位置
順序表的容量(最大長度)
順序表的當前長度
儲存結構
是資料及其邏輯結構在計算機中的表示;
存取結構是在一個數據結構上對查詢操作的時間效能的一種描述
順序表的實現——插入演算法描述——虛擬碼
- 如果表滿了,則丟擲上溢異常;
- 如果元素的插入位置不合理,則丟擲位置異常;
- 將最後一個元素至第i個元素分別向後移動一個位置;
- 將元素x填入位置i處;
- 表長加1
順序表的優點
1.無需為表示表中元素之間的邏輯關係而增加額外的
儲存空間;
2. 隨機存取:可以快速地存取表中任一位置的元素。
順序表的缺點
1.插入和刪除操作需要移動大量元素;
2. 表的容量難以確定,表的容量難以擴充;
3. 造成儲存空間的碎片。
單鏈表
線性表的連結儲存結構。
單鏈表是由若干結點構成的;
單鏈表的結點只有一個指標域
儲存特點:
- 邏輯次序和物理次序不一定相同
2.元素之間的邏輯關係用指標表示
頭指標:儲存第一個結點的地址,即,指向第一個結點
尾標誌:終端結點的指標域為空
頭結點:在單鏈表的第一個元素結點之前附設一個型別相同的結點,以便空表和非空表處理統一
雙鏈表
在單鏈表的每個結點中再設定一個指向其前驅結點的指標域
儲存分配方式比較
順序表採用順序儲存結構,即用一段地址連續的儲存單元依次儲存線性表的資料元素,資料元素之間的邏輯關係通過儲存位置來實現
單鏈表採用連結儲存結構,即用一組任意的儲存單元存放線性表的元素。用指標來反映資料元素之間的邏輯關係