List列表是順序線性表,Add操作是O(1)或O(N),因為List是動態擴容的,在未擴容之前,其Add操作是O(1),而在擴容的時候,Add操作是O(N)的。其Contains方法,是按照線性檢索的,其復雜度是O(n)。
SortedList列表是有序線性表,Add操作是O(n), 其Contains方法是通過二分查找檢索元素的,因此復雜度是O(lg n),其Containskey方法也是通過二分查找檢索元素,復雜度也是O(lg n),ContainsValue方法是使用線性查找元素,復雜度是O(n)。
HashSet集合類是包含不重復項的無序hash表(非線性),它本身是一個一維數組,但是二維鏈表結構(擴展:一維數組的大小總是2的N次方)。Add操作是O(1)或是O(N)的,原因同List集合類。Contains方法是O(1)。
SortedSet集合類是基於紅黑樹實現的,其Add方法是O(lg n),Contains方法也是O(lg n)。
Dictionary字典類是hash表,Add操作是O(1)或是O(N)的,原理同上。其Containskey方法是O(1),原因是通過hash來查找元素而不是遍歷元素。ContainsValue方法的時間復雜度是O(N),原因是內部通過遍歷key來查找value,而不是通過hash來查找。Item[Key]屬性根據key來檢索value,其時間復雜度也是O(1)。
SortedDictionary字典類是基於平衡二叉樹實現的,其Add方法是O(lg n),ContainsKey方法也是O(lg n),而ContainsValue方法則是O(n)。