有谁知道对不同C#集合类型的概述?我正在寻找能够支持Add
,Remove
,RemoveLast
等基本操作并提供相对性能的内容。
对于各种通用类来说会特别有趣 - 如果它显示出来,那就更好了。如果List<T>
其中T
是一个类,而T
是一个结构,那么它的性能会有所不同。
一个开始将是抽象数据结构的一个很好的备忘单,比较链接列表,哈希表等等。谢谢!
答案 0 :(得分:24)
以下内容最初来自MSDN http://xbox.create.msdn.com/downloads/?id=123&filename=DataStructures_CheatSheet.doc(但该链接已经死亡)。
如上图所示,内容最初是作为表格提供的(StackOverflow不支持)。
鉴于图像不容易在下面编入索引,这是一种有点粗略的程序化信息转换为列表:
O(n)
O(n)
O(n)
O(n)
O(1)
O(1)
O(n)
best case O(1); worst case O(n)
O(1)
O(n)
O(n)
O(1)
O(1)
O(n)
best case O(1); worst case O(n)
O(1)
O(n)
O(n)
O(1)
O(1)
O(n)
O(1)
O(1)
O(1)
O(1)
O(n)
O(1)
O(n)
best case O(1); worst case O(n)
O(1)
N/A
N/A
N/A
N/A
N/A
best case O(1); worst case O(n)
O(1)
N/A
N/A
N/A
N/A
N/A
best case O(1); worst case O(n)
O(1)
best case O(1); worst case O(n)
O(1)
O(1)*
O(1)*
O(1)
答案 1 :(得分:8)
这不是一个备忘单,但它是一个开始学习的好地方:Collection Classes (C# Programming Guide)。
修改:我会专门查看相关部分:Selecting a Collection Class 。
一定要选择你的 System.Collections类仔细。 使用错误的类型可能会限制您的 使用该系列。