我知道地图或字典的使用位置有什么区别,但我想知道为什么.NET中的Dictionary<TKey, TValue>
应该使用,我从已经阅读了here,这是一个链接列表,我知道std::map<K,T>
(C ++)是一个红黑树。
为什么它们不是一样的,它们在性能方面是否存在差异(我知道C ++数据结构已经过优化)或者为什么.NET字典实际上是一个链接列表和C ++ std :: map然后是一个红黑树,据我所知,它是完全不同的数据结构,主要用于完全不同的目的。
也许这两件事情有不同的目的,也许我只是不知道。
有人可以澄清吗?
答案 0 :(得分:3)
Dictionary<>
是hash table,类似于std::unordered_map<>
。
SortedDictionary<>
是一棵红黑树,类似于std::map<>
。