C#常用数据结构
常用数据结构特征以及操作时间复杂度
数据结构 类型及备注 插入和删除 查找
Array 顺序存储的线性表、定长 不支持(这里的插入与删除指会更改表长的行为) O(N)
LinkedList
List
Stack
Queue
Dictionary
SortedList
SortedDictionary
HashSet
SortedSet
如何选择数据结构
完美的数据结构应该具备较高的插入、删除效率和查找效率
对于栈和队列,直接使用对应的数据结构即可
数据源不是键值对
数据量大,没有重复数据。使用HashSet
数据量大,但可能有重复数据;或数据量小。使用Array,List
没有重复数据,且希望集合处于有序状态:使用SortedSet
有重复数据,且希望集合处于有序状态:没有现成的数据结构提供,可以考虑基于数组实现一个
数据源是键值对
如果数据源是键值对,那么可选项本来就不多。首先当然是类型安全的字典,然后,如果总是希望集合处于有序状态,从SortedList
另外对于键值对的情况,如果你的数据源数据很少,可以考虑使用List
————————————————
版权声明:本文为CSDN博主「AaronChenH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013457933/article/details/89075209