資料結構(1) 線性表(上)

2021-10-07 09:19:50 字數 1293 閱讀 2321

1)文字定義:具有相同資料型別的n(n>=0)個資料元素的有限序列。

2)相關術語:n表長;n=0空表;a1表頭元素;an表尾元素;除了表頭元素,線性表中每個元素有且僅有乙個直接前驅;除了表尾元素,線性表中每個元素有且僅有乙個直接後繼。

3)代數表示:l = (a1,a2,…,an)

4)特點:元素個數有限/元素具有邏輯上的順序/表中每乙個元素都是單一的資料元素/資料元素的資料型別都相同,占用相同大小的儲存空間/元素具有抽象性,所謂線性只是討論元素間的邏輯關係

名稱宣告

功能備註

初始化initlist(&l)

構造乙個空的線性表

插入insert(&l,i,e)

在表l 中的第i個位置插入值為e的元素

查詢1locate(l,e)

在表l中查詢值為e的元素

查詢2getelem(l,i)

在表l中查詢第i個位置上的元素

刪除delete(&l,i,&e)

在表l中刪除第i個位置上的元素並返回值

判空empty(l)

判斷表是否為空表

求表長length(l)

求表l中元素的個數

銷毀destroy(&l)

銷毀線性表,釋放其占用的記憶體空間

說明

順序表的特點:

優點缺點

①隨機訪問,可以通過首位址和元素序號在o(1)時間內找到某一元素

②儲存密度高,每個節點值儲存資料元素

插入和刪除操作需要移動大量的元素,時間複雜度較高

順序表的程式定義(*)

插入操作

刪除操作

按值查詢操作

複雜度分析:

最好情況,表頭元素符合,o(1)

最壞情況,表尾元素符合或沒有符合的元素,o(n)

平均情況,同上分析,o(n)

**:

int locateelem(sqlist l,elemtype e)

> l.length = i+1;

> }

> return true;

> }

> ```

>

>

思維導圖:

參考資料:《王道2023年資料結構考研指導》

本文系自己在複習專業課知識整理留作自用

資料結構線性表 上

鍊錶 鍊錶是一種有序的列表,鍊錶的內容通常是存貯於記憶體中分散的位置上。而鍊錶串聯的方式有兩種 0 1 2 3 4 5 6 7 8 9 isdata this aarray 6 8 1 39 不過這種鍊錶最大的缺點在於放入或刪除元素,常常要大量的移動其他元素,而且陣列的大小是固定的,缺乏使用彈性。2...

資料結構線性表1

include include include struct arr 定義了乙個資料型別,該資料型別的名字是struct arr void init arr struct arr parr,int length bool insert arr struct arr parr,int pos,int ...

資料結構 線性表1

一 線性表 定義 由零個或多個資料元素組成的有限序列。強調 1 線性表是乙個序列,也就是說元素之間是有先來後到的 2 若元素存在多個,則第乙個元素無前驅,最後乙個元素無後繼,其他元素都有且只有乙個前驅和後繼 3 線性表是有限的,即他能夠處理的元素是有限的 舉列 請問公司的組織架構是否屬於線性關係?答...