前言
一、鍊錶的原理
二、鍊錶對應的針對性題目
總結資料結構是用來存資料的,不同的資料結構有不同的特點。有線性儲存和非線性儲存,有連續儲存和非連續儲存,合理的利用資料結構會使得時間複雜度,空間複雜度降低,解決問題更加方便。
比如銀行排號,用佇列實現更合適;比如節省記憶體,用不連續的鍊錶更合適。
首先鍊錶是一種資料結構模型,不同於所有語言自帶的陣列,字串型別的資料結構,鍊錶需要自己建立,不同的語言有不同的實現方式,用來滿足自己解決特定問題的需求。
鍊錶有單鏈表,雙鏈表,環形鍊錶型別
鍊錶的基本單元是結點,即乙個記憶體塊,裡面是存的資料和指向下乙個結點的指標
c語言實現單鏈表結點:
struct listnode
一般對鍊錶結點的操作是用指標,實現增刪改查。
煉表相比較陣列而言,增刪更快,且記憶體不連續。
鍊錶的基礎學習與應用首先要掌握鍊錶的原理,其次知道鍊錶與其他資料結構的區別,還需要知道不同程式語言如何建立鍊錶,以及資料結構的基本操作增刪改查,最後就是練習一些基礎的題型,更高難度的題目是基於基礎題型的綜合上的。一般針對的是單鏈表的操作。
演算法 鍊錶常用演算法
常見演算法 1.鍊錶逆序 2.鍊錶求交點 3.鍊錶求環 4.鍊錶劃分 5.複雜鍊錶的複製 6 a.2個排序鍊錶歸併 6 b.k個排序鍊錶歸併 鍊錶定義 definition for singly linked list.struct listnode 1.鍊錶逆序 classsolution ret...
雙向鍊錶及其用法
一 雙向鍊錶的定義 雙向鍊錶也是鍊錶的一種,它每個資料結點中都有兩個結點,分別指向其直接前驅和直接後繼。所以我們從雙向鍊錶的任意乙個結點開始都可以很方便的訪問其前驅元素和後繼元素。二 雙向鍊錶的儲存結構 雙向鍊錶也是採用的鏈式儲存結構,它與單鏈表的區別就是每個資料結點中多了乙個指向前驅元素的指標域 ...
鍊錶及其實現
鍊錶相對於順序表,具有更好的動態性。下面主要討論最簡單的一種鍊錶 單鏈表。在單鏈表中,表的每乙個物件除了含有關鍵字element外,還有乙個指標next。物件中還可以含有其他的輔助資料,稱作衛星資料。當我們要移動關鍵字時,衛星資料也必須要移動。如果物件中含有大量衛星資料,則通常移動指標而不是物件本身...