摘要:
HashTable数据结构存在问题:空间利用率偏低、受填充因子影响大、扩容时所有的数据需要重新进行散列计算。虽然Hash具有O(1)的数据检索效率,但它空间开销却通常很大,是以空间换取时间。所以Hashtable适用于读取操作频繁,写入操作很少的操作类型。
Dictionary 也是用的Hash算法,通过数组实现多条链式结构。不过它是采用分离链接散列法。采用分离链接散列法不受到装填因子的影响,扩容时原有数据不需要重新进行散列计算。
SortedDictionary是按照K有序排列的(K, V)数据结构,以红黑树作为内部数据结构对K进行排列保存– TreeSet,红黑树是一棵二叉搜索树,每个结点具有黑色或者红色的属性。它比普通的二叉搜索树拥有更好的平衡性。 阅读全文
公告
积分与排名
- 积分 - 134955
- 排名 - 10657
随笔分类 (111)
最新评论
- 1. Re:深入解析Hashtable、Dictionary、SortedDictionary、SortedList
- 首先感谢楼主.其次,我用楼主的代码测试了一下,仅仅将 dictionary.Select(o => o.Key % 1000 == 0).ToList().ForEach(o => { });修改成了...
- --热敷哥
- 2. Re:深入解析Hashtable、Dictionary、SortedDictionary、SortedList
- dictionary.Select(o => o.Key % 1000 == 0).ToList().ForEach(o => { });都7-8年了,还挂这呢,这个语句什么意思?你确定是挑选测试吗?...
- --zzy
- 3. Re:在生产环境下,MONO与.NET Framework的性能差别。
- 现在跑mono怎么样了
- --FourOne
- 4. Re:C#中国身份证验证
- 推荐使用阿凡达数据的身份证实名认证接口:
- --happyluyy
- 5. Re:为CKEditor开发插入代码的插件 已提供下载
- @ 木子博客引用@Kevin Cheng我的现在的是WP的CKEditor里,我直接把这个CKEditor发给你吧?也发给我一份吧 739423721@qq.com !!!!...
- --ChineseMoonGod