資料結構與演算法 2 線性表 陣列和鍊錶

2022-07-31 18:15:19 字數 1086 閱讀 4790

是n個資料元素的有限序列,若將線性表記為\((a_1,...,a_,a_i,a_,...,a_n)\),則表中\(a_\)領先於\(a_i\),\(a_i\)領先於\(a_i+1\),稱\(a_\)是\(a_i\)的直接前驅元素,\(a_\)是\(a_i\)的直接後繼元素。

線性表元素的個數\(n(n>=0)\)定義為線性表的長度,當\(n=0\)時,稱為空表。

其它定義介紹:

對於非空的線性表或者線性結構的特點:

用一組位址連續的儲存單元依次儲存線性表的資料元素,這種儲存結構的線性表稱為順序表示

特點:邏輯上相鄰的資料元素,物理次序也是相鄰的。

只要確定好了儲存線性表的起始位置,線性表中任一資料元素都可以隨機訪問,所以線性表的順序儲存結構是一種隨機訪問的儲存結構,因為高階語言中的陣列型別也是有隨機訪問的特性,所以通常我們都使用陣列來描述資料結構中的順序儲存結構,用動態分配的一維陣列表示線性表。

以最簡單的學生資訊管理為例:

首先先建立兩個資料結構,如下:

#define maxsize 100 //定義學生最大數量

#define ok 1       //正確標誌

#define error 0     //失敗標誌

//學生資訊的資料結構

typedef struct

student;

//順序表資料結構

typedef struct

sqlist;

//定義sqlist型別的變數

sqlist l;

描述線性表順序儲存的三個屬性:

python版實現

概念:用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的),包括資料域和指標域,資料域存資料,指標域指示其後繼的資訊。

python版實現

資料結構線性表2 鍊錶

補充 資料結構線性表的優缺點 優點 用陣列儲存資料元素,操作方法簡單,容易實現 無需為表示結點之間的邏輯關係增加額外的儲存開銷 儲存密度高 可按照元素位序隨機儲存結點 缺點 插入或刪除操作不方便,除過表尾的位置外,在表的其他位置上進行插入或刪除操作都必須移動大量的結點,效率比較低 順序表要求佔連續的...

java資料結構與演算法 線性表與鍊錶(2)

我們這裡只講解他們和資料結構之間的關係,並不會給大家一一講他們的語法。如果有一些朋友,對於這些東西還不是很熟悉,大家可以去其他地方找找教程。下面我們來給大家講一下這兩種結構的迭代器的使用。首先,我們來講一講為什麼要引入迭代器這乙個東西。舉個例子,假如我要對儲存數字的乙個順序表或者鍊錶中的每乙個數字進...

資料結構與演算法 線性表 鍊錶

我畫了20張圖,終於讓女朋友學會了翻轉鍊錶 碼海 該文章介紹了鍊錶的基礎知識,程式區域性性原理 重點關注 尾插法 public class linkedlist tmp.next newnode val 尾部插入 public class linkedlist public static void ...