資料結構 單鏈表結構與順序儲存的比較

2021-09-27 03:09:36 字數 577 閱讀 7829

1、順序儲存方式:相當於陣列,是利用一段連續的儲存空間依次來儲存線性表的資料元素。

2、單鏈表:採用鏈式儲存結構,每次的儲存是向記憶體申請空間,用一組任意的儲存空間來儲存資料。

1、查詢

順序儲存方式(相當於陣列):o(1),可直接取用。

單鏈表:o(n),每次得遍歷整個鍊錶。

2、插入刪除:

順序儲存:每次得將前或者後面的元素移動乙個元素位置,平均時間複雜度為o(n)。

鍊錶:尋找到插入或者刪除的位置 o(n),插入與刪除只需要更改指標指向,時間複雜度為o (1)。

1、順序儲存方式,建立時需要預先分配空間,分配的不準確就會導致空間的浪費,並且為連續的儲存空間。

2、單鏈表,建立時每次插入元素都會先根據需要申請空間,不會造成空間的浪費。

通過對比,我們可以得出:

當線性表需要頻繁查詢,很少進行插入刪除時,適合用順序儲存結構。如果要進行多次的插入刪除,那麼需要用單鏈表。

當資料的儲存不知道數量時,順序儲存會造成大量的空間浪費,此時適合用單鏈表實時的儲存。

總之,根據實際情況來選擇適合的資料結構才是我們的最終目的。

資料結構 順序表與單鏈表區別

不定長順序表 線性表分為順序表和煉表 順序表 1.順序儲存,必須占用一片連續儲存單元 可將順序表簡單理解為陣列,其空間是連續的儲存單元。elem是指向順序表記憶體位址的指標,listsize是順序表總大小,length為當前存放有效資料個數。若在末尾插入資料8,只能在下標4處插入,不能中間空幾個儲存...

資料結構 順序表和單鏈表

typedef struct sqlist sqlist,psqlist bool isfull psqlist psq bool isempty psqlist psq void initsqlist psqlist psq 初始化 bool insert psqlist psq,int pos,...

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...