常見的資料結構

2021-08-28 20:28:29 字數 1305 閱讀 9610

棧:stack,又稱堆疊,它是運算受限的線性表,其限制是僅允許在表的一端進行插入和刪除操作,不允許在其他任何位置進行新增、查詢、刪除等操作。

採用該結構的集合,對元素的訪問有如下的特點:

1. 先進後出。

2. 棧的入口、出口的都是棧的頂端位置。

壓棧:就是存元素。即,把元素儲存到棧的頂端位置,棧中已有元素依次向棧底方向移動乙個位置。

彈棧:就是取元素。即,把棧的頂端位置元素取出,棧中已有元素依次向棧頂方向移動乙個位置。

佇列:queue,簡稱隊,它同堆疊一樣,也是一種運算受限的線性表,其限制是僅允許在表的一端進行插入,而在表的另一端進行刪除。

採用該結構的集合,對元素的訪問有如下的特點:

1.先進先出。

2.佇列的入口、出口各佔一側。

陣列:array,是有序的元素序列,陣列是在記憶體中開闢一段連續的空間,並在此空間存放元素。

採用該結構的集合,對元素的訪問有如下的特點:

1.查詢元素快:通過索引,可以快速訪問指定位置的元素。

2.增刪元素慢。

指定索引位置增加元素:需要建立乙個新陣列,將指定新元素儲存在指定索引位置,再把原陣列元素根據索引,複製到新陣列對應索引的位置。

指定索引位置刪除元素:需要建立乙個新陣列,把原陣列元素根據索引,複製到新陣列對應索引的位置,原陣列中指定索引位置元素不複製到新陣列中。

鍊錶:linked list,由一系列結點node(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時i動態生成。每個結點包括兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。我們常說的鍊錶結構有單向鍊錶與雙向鍊錶,那麼這裡給大家介紹的是單向鍊錶。

採用該結構的集合,對元素的訪問有如下的特點:

1.多個結點之間,通過位址進行連線。

2.查詢元素慢:想查詢某個元素,需要通過連線的節點,依次向後查詢指定元素

3.增刪元素快:

增加元素:只需要修改連線下個元素的位址即可。

刪除元素:只需要修改連線下個元素的位址即可。

提高查詢搜尋效率。

二叉樹:binary tree ,是每個結點不超過2的有序樹(tree)。二叉樹是每個節點最多有兩個子樹的樹結構。頂上的叫根結點,兩邊被稱作「左子樹」和「右子樹」。將節點插入後,該樹仍然是一顆二叉查詢樹。

常見的資料結構

資料儲存的常用結構有 棧 佇列 陣列 鍊錶和紅黑樹。我們分別來了解一下 棧 stack,又稱堆疊,它是運算受限的線性表,其限制是僅允許在標的一端進行插入和刪除操作,不允許在其他任何位置進行新增 查詢 刪除等操作。簡單的說 採用該結構的集合,對元素的訪問有如下的特點 佇列 queue,簡稱隊,它同堆疊...

常見的資料結構

遵循先進後出原則,類似裝子彈的彈夾。只有乙個出入口,先進去的後出來。遵循先進先出原則,類似於水管,有乙個入口和乙個出口,這邊進,那邊出,先進的先出來。增刪慢 陣列的長度是固定的,我們想要怎能增加 刪除乙個元素,必須穿件乙個新陣列,把陣列的資料複製過來。在堆記憶體中,頻繁的建立陣列,複製陣列中的元素,...

資料結構與演算法 常見的資料結構整合

資料結構是指互相之間存在一種或多種特定短息的資料與元素的集合。陣列是由型別相同的元素構成的有序集合。陣列分類 一維陣列 二維陣列 多維陣列 二維陣列和稀疏陣列互相轉化 陣列中的重複數字 二維陣列中的查詢 最小的k個數 棧是限定僅在表尾部進行插入和刪除操作的線性表。相關問題集錦 棧實現綜合計算器 中綴...