C# 字典<;TKey,TValue>;已排序和未排序。检索时间
从MSDN:C# 字典<;TKey,TValue>;已排序和未排序。检索时间,c#,dictionary,collections,C#,Dictionary,Collections,从MSDN: 排序的字典泛型类是二进制的 具有O(logn)检索的搜索树,其中n是元素数 在字典里 从MSDN: 使用键检索值非常快,接近O(1), 因为字典类是作为 哈希表 我的问题有两个: 什么是O(logn)和O(1);及 是什么使词典(未排序)非常快?它需要更多的内存吗 O(n)是用来表示弱上界的符号O(logn)表示一个操作需要大约logn个步骤才能完成(取决于输入的大小)O(1)表示访问时间由一个常数限定,而不是由输入的大小限定 Dictionary类具有摊销常量访问(但不一定保证,
排序的字典
泛型类是二进制的
具有O(logn)检索的搜索树,其中n是元素数
在字典里
从MSDN:
使用键检索值非常快,接近O(1),
因为字典
类是作为
哈希表
我的问题有两个:
O(logn)
和O(1)
;及词典
(未排序)非常快?它需要更多的内存吗O(n)
是用来表示弱上界的符号O(logn)
表示一个操作需要大约logn个步骤才能完成(取决于输入的大小)O(1)
表示访问时间由一个常数限定,而不是由输入的大小限定
Dictionary类具有摊销常量访问(但不一定保证,因为它可能需要调整大小),其中作为SortedDictionary类,由于它是从树构建的,所以保证访问时间为O(logn)
这里有一个很好的哈希表介绍:O(n)
是用来表示弱上界的符号O(logn)
表示一个操作需要大约logn个步骤才能完成(取决于输入的大小)O(1)
表示访问时间由一个常数限定,而不是由输入的大小限定
Dictionary类具有摊销常量访问(但不一定保证,因为它可能需要调整大小),其中作为SortedDictionary类,由于它是从树构建的,所以保证访问时间为O(logn)
这里有一个很好的哈希表介绍:当O(1)
时间性能是一个常数时O(logn)
-对数依赖性描述的时间性能。当O(1)
时,时间性能为常数O(logn)
-对数依赖性描述的时间性能。