1、線性表(list):由零個或多個資料元素組成的有限序列。
理解關鍵:序列(強調順序);元素有限;若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他元素有且只有乙個前驅和後繼。
2、資料型別:是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。比如說整形、浮點型、字元型這些就是資料型別。抽象資料型別就是把資料型別和相關操作**到一起。
3、線性表的抽象資料型別定義。
4、線性表有兩種儲存結構:順序儲存結構和鏈式儲存結構。線性表的順序儲存結構是指用一段連續的儲存單元一次儲存線性表的資料元素;鏈式儲存結構不要求邏輯上相鄰的元素在物理位置上也相鄰。
5、線性表的插入操作:
插入演算法思路大致如下:
---如果插入位置不合理,丟擲異常;
---如果線性表長度大於陣列長度,則丟擲異常或動態增加陣列容量;
---從最後乙個元素開始向前便利到第i個位置,分別將它們都向後移動乙個位置;
---將要插入元素填入位置i處;
---線性表長度+1;
6、線性表的刪除操作:(可以模擬插入操作)
---如果刪除位置不合理,丟擲異常(如線性表長度為0則為空表不能執行刪除;刪除元素的位置小於1或者大於線性表的長度時刪除位置有錯誤;
---取出刪除元素;
---從刪除元素位置開始遍歷到最後乙個元素位置,分別將它們都向前移動乙個位置;
---線性表長度-1;
7、插入和刪除操作的時間複雜度
(2)最壞的情況:如果要插入和刪除的元素的位置是線性表的第乙個元素,那麼所有的元素都要向後移動或者向前移動,這時時間複雜度為o(n);
(3)平均情況:時間複雜度為o((n-1)/2),簡化之後依然是o(n)。
8、線性表的順序儲存的優缺點。
(1)優點:
---無須為表示表中元素之間的邏輯關係而增加額外的儲存空間;
---可以快速地訪問表中任意位置的元素;
(2)缺點:
---插入和刪除操作需要移動大量元素;
---當線性表長度變化較大時,難以確定儲存空間的容量;
---容易造成儲存空間的「碎片」;
資料結構與演算法之線性表
1.線性表的基本概念 線性表是零個或多個資料元素的有序佇列.特性 資料元素之間是有順序的 資料元素個數是有限的 資料元素的型別必須相同.2.線性表的數學定義及性質 線性表是具有相同型別的n n 0 個資料元素的有限序列 a0,a1,a2.an ai是表項,n是表長度.性質 a0是線性表中的第乙個元素...
資料結構與演算法之線性表
線性表屬於資料結構中邏輯結構中的線性結構。回憶一下,資料結構分為物理結構和邏輯結構,邏輯結構分為線性結構 幾何結構 樹形結構和圖形結構四大結構。其中,線性表就屬於線性結構。剩餘的三大邏輯結構今後會一一介紹。線性表 list 由零個或多個資料元素組成的有限序列。注意 1.線性表是乙個序列。2.0個元素...
資料結構與演算法之 線性表
01線性表 1.線性表的判斷方式就是元素有且只有乙個直接前驅和直接後繼,元素可以為空,此時叫做空表 2.抽象資料型別標準格式 adt 抽象資料型別名 data operation endadt 3.操作偽 operation endadt 4.實際問題 提問 實現兩個線性表a,b的並集操作 思路 迴...