日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

各种数据结构性能的比较

發布時間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 各种数据结构性能的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

from:http://blog.csdn.net/jh19900712/article/details/24786159

數據結構包括數組、鏈表、棧、二叉樹、哈希表等等

?

數據結構優點缺點?
數組插入快查找慢、刪除慢、大小固定?
有序數組查找快插入慢、刪除慢、大小固定?
后進先出存取其他項很慢?
隊列先進先出存取其他項很慢?
鏈表插入、刪除快查找慢?
二叉樹查找、插入、刪除快算法復雜(刪除算法)?
紅黑樹查找、插入、刪除快算法復雜?
hash表存取極快(已知關鍵字)、插入快刪除慢、不知關鍵字時存取很慢、對存儲空間使用不充分?
插入快、刪除快、對大數據項存取快對其他數據項存取慢?
依據現實世界建模算法有些復雜?
AVL樹查找、插入、刪除快算法復雜?

?

?

總結:

????????? 通用數據結構:數組,鏈表,樹,哈希表

????????? 它們被稱之為通用的數據結構是因為它們通過關鍵字的值來存儲并查找數據,這一點在通用數據庫程序中常見到(棧等特殊結構正好相反,它們只允許存取一定的數據項)。

???????? 通用數據結構可以完全按照速度的快慢來分類:數組和鏈表是最慢的,樹相對較快,哈希表是最快的。

???????? 但并不是使用最快的結構永遠是最好的方案。這些最快的結構也有缺陷,首先,它們的程序在不同程度上比數組和鏈表的復雜;其次,哈希表要求預先知道要存儲多少數據,數據對存儲空間的利用率也不是非常高。普通的二叉樹對順序的數據來說,會變成緩慢的O(N)級操作;而平衡樹雖然避免了上述的問題,但是它的程序編制起來卻比較困難。

?

???????? 數組在下列情況下很有用:1數據量較小? 2數據量的大小事先可預測? 3如果存儲空間足夠大的話,可以放松第二條,創建一個足夠大的數組來應付所有可以預見的數據輸入。

???????? 如果插入速度很重要的話,使用無序數組。如果查找速度很重要的話,使用有序數組,并用二分查找。數組元素的刪除總是很慢,這是由于為了填充空出來的單元,平均半數以上的數組元素要被移動。在有序數組中的遍歷是很快的,而在無序的數組不支持這種功能。

???????? 如果需要存儲的數據量不能預知或者需要頻繁地插入刪除數據元素時,考慮使用鏈表。當有新的元素加入時,鏈表就開辟新的所需要的空間,所以它甚至可以占滿全部可用內存;在刪除過程中沒有必要像數組那樣添補“空洞”。

轉載于:https://www.cnblogs.com/the-tops/p/8435594.html

總結

以上是生活随笔為你收集整理的各种数据结构性能的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。