假設我有兩個項目集合,並且我想找到它們的交集。使用具有虛擬值的字典是不好的做法
因爲這些只是值而不是鍵值對,所以通常會使用List而不是Dictionary。
但是,找到兩個列表的交集需要一個嵌套循環,因此O(n^2)的複雜性,而對於字典,所需的時間是O(n)。
如果我們正在處理大量的項目,顯然我們會盡量避免O(n^2),所以答案很簡單。我的問題更多的是關於項目數量很少而且不可能增長的情況。
是它被認爲是不好的做法,使用辭典:
- 重點= ItemType的
- 值= {虛擬}
只是不斷的查找功能,即使性能不是一個問題?我能想到的缺點是:
- 使用比必要的更復雜的數據結構。
- 由於該值爲虛擬值,所以令讀者感到困惑。
考慮'HashSet'而不是'字典' –
我會看看HashSet數據結構 - https://msdn.microsoft.com/en-us/library/bb359438(v=vs。 110)。aspx – pbarrasso