常見的資料結構及其特徵

2021-07-29 10:02:34 字數 985 閱讀 6852

array:陣列

特性:使用連續的記憶體來儲存,陣列中的所有元素必須是相同的型別或型別的衍生(同質資料結構),元素可以通過下標直接訪問。

queue:佇列。

特性:先進先出,併發中使用,可以安全地將物件從乙個任務傳給另乙個任務。

set:集合。

特性:儲存不重複的元素。

stack:棧,和佇列相似,乙個帶有資料儲存特性的資料結構。

特性:儲存資料是先進後出的,棧只有乙個口,只能從棧頂部增加或移除元素。

heap:堆,一般情況下,堆叫二叉堆,近似完全二叉樹的資料結構。

特性:子節點的鍵值或者索引總是小於它的父節點,每個節點的左右子樹又是乙個二叉堆,根節點最大的堆叫最大堆或大根堆,最小的叫最小堆或小根堆。

map:字典。

特性:關聯陣列,也被叫做字典或鍵值對。

list:線性表,由零個或多個資料元素組成的有限序列。

特性:線性表是乙個序列,0個元素構成的線性表是空表;第乙個元素無先驅,最後乙個元素無後繼,其他元素都只有乙個先驅和後繼;有長度,長度有限,長度是元素個數。

linkedlist:鍊錶,線性表的一種。

特性:元素之間的關係是一對一的關係(除了第乙個和最後乙個元素,其他元素都是首尾相接),分為順序儲存結構和鏈式儲存結構兩種儲存方式。

doubly-linked-list:雙向鍊錶。

特性:每個元素都是乙個物件,每個物件有乙個關鍵字key和兩個指標(next和prev)。

graph:圖。

特性:通常使用鄰接矩陣和鄰接表表示,鄰接矩陣易實現但是對於稀疏矩陣會浪費較多空間,鄰接表使用鍊錶的方式儲存資訊但是對於圖搜尋時間複雜度較高。

常見的資料結構

棧 stack,又稱堆疊,它是運算受限的線性表,其限制是僅允許在表的一端進行插入和刪除操作,不允許在其他任何位置進行新增 查詢 刪除等操作。採用該結構的集合,對元素的訪問有如下的特點 1.先進後出。2.棧的入口 出口的都是棧的頂端位置。壓棧 就是存元素。即,把元素儲存到棧的頂端位置,棧中已有元素依次...

常見的資料結構

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

常見的資料結構

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