Is ConcurrentDictionary, a “concurrent” version of

2019-07-18 19:54发布

I would like to understand the Computational Complexity of a ConcurrentDictionary vers SortedList (Which is O(logarithmic(n))), is a ConcurrentDictionary just a concurrent synchronized implementation of a SortedList? or do these data structures vary? among one another?

2条回答
孤傲高冷的网名
2楼-- · 2019-07-18 20:34

ConcurrentDictionary<T,U> is a concurrent version of a Dictionary<T,U>. It does not sort by keys like a SortedList<T,U>. The complexity is closely related to a Dictionary<T,U>'s complexity, so fetches approach O(1).

SortedList<T,U> has O(log n) complexity for most fetch operations since it's walking the internal sorted structure.

查看更多
▲ chillily
3楼-- · 2019-07-18 20:44

I believe that ConcurrentDictionary<K,V> is a thread-safe analog of Dictionary<K,V> and both should have complexity O(1). They don't provide key sorting, order is not guaranteed.

查看更多
登录 后发表回答