1. 程式人生 > >20176408李俊 線性表

20176408李俊 線性表

線性表

                        簡稱表,是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個元素
儲存要點

用一段地址連續的儲存單元
依次儲存線性表中的資料元素
順序表的屬性儲存空間的起始位置
順序表的容量(最大長度)
順序表的當前長度

儲存結構

是資料及其邏輯結構在計算機中的表示;
存取結構是在一個數據結構上對查詢操作的時間效能的一種描述

順序表的實現——插入演算法描述——虛擬碼

  1. 如果表滿了,則丟擲上溢異常;
  2. 如果元素的插入位置不合理,則丟擲位置異常;
  3. 將最後一個元素至第i個元素分別向後移動一個位置;
  4. 將元素x填入位置i處;
  5. 表長加1

順序表的優點
1.無需為表示表中元素之間的邏輯關係而增加額外的
儲存空間;
2. 隨機存取:可以快速地存取表中任一位置的元素。
順序表的缺點


1.插入和刪除操作需要移動大量元素;
2. 表的容量難以確定,表的容量難以擴充;
3. 造成儲存空間的碎片。

單鏈表

                       線性表的連結儲存結構。

單鏈表是由若干結點構成的;
單鏈表的結點只有一個指標域
儲存特點:

  1. 邏輯次序和物理次序不一定相同
    2.元素之間的邏輯關係用指標表示
    頭指標:儲存第一個結點的地址,即,指向第一個結點
    尾標誌:終端結點的指標域為空
    頭結點:在單鏈表的第一個元素結點之前附設一個型別相同的結點,以便空表和非空表處理統一

雙鏈表

在單鏈表的每個結點中再設定一個指向其前驅結點的指標域

儲存分配方式比較

順序表採用順序儲存結構,即用一段地址連續的儲存單元依次儲存線性表的資料元素,資料元素之間的邏輯關係通過儲存位置來實現
單鏈表採用連結儲存結構,即用一組任意的儲存單元存放線性表的元素。用指標來反映資料元素之間的邏輯關係