常見資料結構優缺點比較

2021-08-30 16:00:48 字數 604 閱讀 8904

資料結構是對在計算機記憶體中的資料的一種安排,資料結構包括陣列,鍊錶,棧,二叉樹,雜湊表等等,資料結構和技術與如何處理現實世界資料儲存問題相連,現實世界資料指的是那些描述處於計算機外部的物理實體的資料。今天不展開常見資料結構的原理,僅僅比較他們的優缺點。

資料結構

優點缺點

陣列插入快,如果知道下標,可以非常快的訪問

查詢慢,刪除慢,大小固定

有序陣列

比無序的陣列查詢快

刪除和插入慢,大小固定

棧提供後進先出方式的訪問

訪問其他項很慢

佇列提供先進先出方式的訪問

訪問其他項很慢

鍊錶插入快,刪除快

查詢慢二叉樹

查詢,插入,刪除都快(如果樹保持平衡)

刪除演算法複雜

紅-黑樹

查詢,插入,刪除都快,樹總是平衡的

演算法複雜

2-3-4樹

查詢,插入,刪除都快,樹總是平衡的,類似的樹對磁碟儲存有用

演算法複雜

雜湊表如果關鍵字已知則訪問極快,插入快

堆插入刪除快,對最大資料項的訪問很快

對其他資料項訪問慢

圖對現實世界建模 有些演算法慢且複雜

常見資料結構

陣列 array 在程式設計中,為了處理方便,把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。在c語言中,陣列屬於構造資料型別。乙個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列 字元陣列...

常見資料結構對比

最近看一本講程式設計藝術的書,裡面提了個問題 常見資料結構有哪些?以前都是用到什麼資料結構,去查相應資料,一直沒仔細想過這個問題,一時心血來潮,決定做個 總結下幾種資料結構的特點。如果哪位大神發現了錯誤,請通知小弟一聲,小弟馬上修改,謝謝。名稱 描述隨機訪問時間複雜度 特點優點 缺點陣列 資料型別的...

演算法常見資料結構

array 陣列最簡單而且應用最廣泛的資料結構之一.特性 使用連續的記憶體來儲存,陣列中的所有元素必須是相同的型別或型別的衍生 同質資料結構 元素可以通過下標直接訪問 linkedlist 鍊錶,線性表的一種,最基本,最簡單,也最為常用的資料結構.特性 元素之間的關係是一對一的關係 除了第乙個和最後...