數據結構與算法(5)線性表

1、靜態鏈表
用數組描述的鏈表叫做靜態鏈表,這種描述方法叫做遊標實現法
在這裏插入圖片描述
2、靜態鏈表的插入操作
在這裏插入圖片描述
在這裏插入圖片描述
每當進行插入時,便可以從備用鏈表上取得第一個結點 作爲待插入的新節點

3、靜態鏈表的刪除操作
在這裏插入圖片描述
在這裏插入圖片描述
4、靜態鏈表優缺點
優點:在插入和刪除操作時,只要修改遊標,不需要移動元素,從而改進了順序存儲結構中的插入和刪除操作需要移動大量元素的缺點
缺點:沒有解決連續存儲分配(數據)帶來的表長難以確定的問題
失去了順序存儲結構隨機存儲的特性
靜態鏈表是爲了給沒有指針的編程語言設計的一種實現單鏈表功能的方法

題目:快速找到未知長度單鏈表的中間結點
普通方法:先遍歷一遍單鏈表以確定單鏈表長度L,再從頭結點除法循環L/2次找到單鏈表的中間結點,算法複雜度O(3L/2)
高級方法:快慢指針,設置兩個指針*search、*mid都指向單鏈表的頭節點。其中 search的移動速度是mid的兩倍,當search指向末尾結點的時候,mid正好就再中間了

5、循環鏈表
將單鏈表中終端結點的指針端由空指針改爲指向頭節點,就使整個單鏈表形成一個環,這種頭尾相接的單鏈表稱爲單循環鏈表
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章