gpt4 book ai didi

.net - .NET字典,速度惊人,但它是如何工作的?

转载 作者:IT王子 更新时间:2023-10-28 23:31:12 25 4
gpt4 key购买 nike

好吧,我承认我没有挖反射镜来看看这里发生了什么,但我希望有人能告诉我。
微软如何使添加和获取如此之快,我可以通过在数组中粘贴项目来实现快速添加,我还可以通过对数组进行排序和使用二进制搜索来实现快速获取。但是,如果每次添加一个项目时我都要进行快速排序,以加快获取数据的速度,则添加速度会大大减慢,如果每次尝试获取某个项目时都必须对数据进行排序,则添加项目的速度会大大减慢。
有人知道字典的内部工作原理吗?它比一个数组需要更多的内存,所以很明显,在幕后还有一些聪明的算法。
我试着去理解魔法并从中学习!

最佳答案

.NET中的dictionary<T,T>是称为哈希表的数据结构:
在哈希表和.NET字典上:
http://en.wikipedia.org/wiki/Hash_table
http://msdn.microsoft.com/en-us/library/4yh14awz.aspx
http://www.cs.auckland.ac.nz/~jmor159/PLDS210/hash_tables.html
在二进制搜索中:
http://en.wikipedia.org/wiki/Binary_search
你说得对,它比数组使用更多的内存来检索数据。这就是为了更快的访问速度而付出的代价。(在大多数情况下,当您开始考虑构建哈希表与数组的设置时间时,排序后的数组在设置时间和访问时间上可能更快。一般来说,这是一个有效的假设。)

关于.net - .NET字典,速度惊人,但它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com