2021-10-16 集合(set)与映射(map) 恋上数据结构笔记
生活随笔
收集整理的這篇文章主要介紹了
2021-10-16 集合(set)与映射(map) 恋上数据结构笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 集合(Listset and Treeset)
- 集合時間復雜度分析
- Treeset的局限性
- 映射(Map)
- Map與Set
集合(Listset and Treeset)
概念:就是不存儲重復元素的數據結構,可以通過動態數組或鏈表以及二叉搜索樹實現,實現時主要在add方法做一個判斷是否是已有元素即可,如果是重復元素,可以考慮用新的覆蓋舊的,也可以什么都不干。如果是二叉搜索樹實現,則所有接口功能都可以由二叉搜索樹自己的函數實現
集合時間復雜度分析
鏈表實現集合:添加刪除搜索都是O(n)
紅黑樹實現集合:添加刪除搜索都是O(logn),效率大大提高
Treeset的局限性
雖然用鏈表或數組實現的listset性能比用紅黑樹實現的Treeset低很多,但是使用Treeset有一個前提條件,就是紅黑樹(二叉搜索樹)里加進去的元素必須具有可比較性!而鏈表或數組就沒有這種要求
映射(Map)
映射是一種數據結構,就類似現實生活中的字典,通過一個大寫字母A,可以找到以A開頭的一個元素。而映射就是通過Key找到一個Value,這個Key和Value都是我們自己定義的,但是注意每一個Key一定是唯一的。
而映射同樣可以通過動態數組,鏈表,二叉樹多種方式實現,我們把Key和Key對應的Value值一般存在同一個結點里
Map與Set
總結
以上是生活随笔為你收集整理的2021-10-16 集合(set)与映射(map) 恋上数据结构笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021-10-15 红黑树 概念和平衡
- 下一篇: 2021-10-20 哈希表 恋上数据结