資料結構 什麼是鍊錶?

2022-10-10 11:57:07 字數 847 閱讀 9489

所周知,陣列是記憶體上連續的資料結構,因此其各操作的時間複雜度為:

可以看到其插入和刪除因為需要移動大量元素,導致了其線性的時間複雜度o(n)。

為了降低對集合元素進行插入刪除操作時的時間複雜度,前人提出了鍊錶的概念。

鍊錶是物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶的指標位址實現,由一系列可動態生成的結點(位址)組成。

(a)儲存資料元素的資料域(記憶體空間)

struct

node

b)雙向鍊錶(每個節點包含當前值、指向前乙個節點鏈結和指向後乙個節點鏈結)【適用於需要雙向查詢節點值的情況

c)迴圈鍊錶(頭節點和尾節點被連線在一起的鍊錶,第乙個節點之前就是最後乙個節點,單向和雙向皆可實現)

適合任意位置插入和刪除比較頻繁的場景。

與陣列相關操作的時間複雜度對比,鍊錶將陣列為o(n)複雜度的插入和刪除操作降為了o(1)常數級,但是查詢操作的時間複雜度卻提公升到了o(n)。

為了解決鍊錶查詢操作為o(n)的時間複雜度的問題。

其實基本思路也很好理解,鍊錶的問題是查詢乙個元素時必須要從頭節點遍歷到鍊錶尾,每次只根據節點的指向下乙個節點的鏈結跳躍一步,那麼可以用哪種方式使得鍊錶在遍歷查詢過程中每次跳躍多步呢?

這就引出了跳表的定義。

跳表是如何提高鍊錶線性查詢的效率呢?將一維線性結構轉變為多維結構,檢視實現原理。

資料結構 什麼是資料結構?

緒論 其實,資料結構在計算機科學界至今沒有標準的定義。個人根據各自的理解的不同而有不同的表述方法 資料結構是資料物件,以及存在於該物件的例項合組成例項的資料元素之間的各種聯絡。這些聯絡可以通過定義相關的函式來給出。他將資料物件 data object 定義為 乙個資料物件是例項或值的集合 其實,究竟...

資料結構 什麼是資料結構

基本概念 資料 是對客觀事物的符號表示 資料元素 是資料的基本單位 資料物件 是性質相同的資料元素的集合,是資料的乙個子集 資料結構 是相互之間存在的一種或多種特定關係的資料元素的集合,資料元素相互之間的關係稱為結構。通常有下列四類基本結構 線性結構 樹形結構 圖狀結構和網狀結構 資料結構在計算機中...

資料結構 什麼是資料結構?

什麼是資料結構 1.資料結構的有關定義 1 資料結構 是帶有結構資料元素的集合 2 資料 是客觀事物的數值 字元以及能輸入機器且能被處理的各種符號的集合 編譯 鏈結 源程式 c 目標程式 obj 可執行程式 exe 3 資料物件 是性質相同的資料元素的集合 4 資料型別 一組性質相同的值的集合以及定...