.net 数据结构:线性结构、链表、Set容器、Hash散列
2021-01-15 20:14
标签:多线程 用户 移动 htm style 情况下 线性 logs 直播 数据结构有几类:线性结构、链表、Hash散列 1.线性结构:在内存中存放的顺序是连续的可以节约空间,可以通过索引查找,优点:查询数据很快、缺点:每次修改删除都有内存的移动会慢。 2.链表:链表结构在内存中是不连续的,不可以通过索引查找,他在每块内存中除了存放值还存放了下块内存的索引,优点:增删快,缺点查询慢 3.Hash散列:在内存会连续先开辟一块空间(会造成空间浪费)、它的读取,增删都快(少量数据),但由于是根据hash散列算法查找地址索引的,而且他前面分配的空间不够的话,会造成散列冲突,大数据量的情况下(散列冲突到导致替补收到查询地址)效率会急剧下降 在.net对应的数据结构类型有: 1.线性结构:Array数组(定长)、arrayList(不定长,这里面存放的是object,有类型安全的问题)、List 2.链表:LinkedList Queue Stack 3.HashSet 4.SortedSet 5.Hash散列:Hashtable :体积可以动态增加 拿着key计算一个地址,然后放入key - value;object-装箱拆箱 如果不同的key得到相同的地址,第二个在前面地址上 + 1;查找的时候,如果地址对应数据的key不对,那就 + 1查找。。;浪费了空间,Hashtable是基于数组实现;查找个数据 一次定位; 增删 一次定位; 增删查改 都很快 Dictionary字典:泛型;key - value,增删查改 都很快;有序的 SortedDictionary 排序字典 SortedList 排序集合 6.参考文章中的线程安全的数据结构 此篇文章,说的非常详细,给作者点赞:https://www.cnblogs.com/Dewumu/p/12067573.html .net 数据结构:线性结构、链表、Set容器、Hash散列 标签:多线程 用户 移动 htm style 情况下 线性 logs 直播 原文地址:https://www.cnblogs.com/YorkQi/p/13387834.html{
//ConcurrentQueue 线程安全版本的Queue
//ConcurrentStack线程安全版本的Stack
//ConcurrentBag线程安全的对象集合
//ConcurrentDictionary线程安全的Dictionary
//BlockingCollection
}
上一篇:2020年.NET综合练习题
文章标题:.net 数据结构:线性结构、链表、Set容器、Hash散列
文章链接:http://soscw.com/index.php/essay/42394.html