c# 數(shù)據(jù)結(jié)構(gòu),復(fù)雜度

數(shù)組:內(nèi)存連續(xù),索引速度快。修改賦值快。缺點(diǎn)就是大小初始化的時(shí)候已經(jīng)固定。插入元素不方便,有可能會(huì)溢出。添加刪除查找復(fù)雜度O(n)。用索引是 O(1)。
arraylist,底層也是數(shù)組,但是可以動(dòng)態(tài)開辟空間增大容量。類型不安全,有裝箱拆箱的消耗。
list 泛型的arraylist。類型安全。添加O(1),刪除查找O(n)。索引取值O(1)。
linkedlist 雙向鏈表集合。插入刪除快,但是查找慢。

hashset用空間換時(shí)間, 查找O(1)。
hashtable 鍵值對(duì)。查找快。.net 中會(huì)自動(dòng)擴(kuò)容。擴(kuò)容因子0.72.當(dāng)前容量的0.72時(shí)擴(kuò)容,擴(kuò)容大小為接近2倍大小的最少素?cái)?shù)。類型是不安全的,任意類型的鍵值對(duì)。添加刪除查找都是O(1)。
dictionary 鍵值對(duì),唯一key。添加刪除查找都是O(1)。默認(rèn)初始化大小為3.

stack,先進(jìn)后出。刪除添加O(1)。
queue,先進(jìn)后出,刪除添加O(1)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。