小编s_n*_*air的帖子

Hashtable- Rehashing

有人告诉我,Hashtable.NET使用中重复以减少/避免碰撞.

IE浏览器."Rehasing的工作原理如下:假设我们有一组散列不同的函数,H1 ... Hn,并且当从散列表中插入或检索项目时,最初使用H1散列函数.如果这导致碰撞,则尝试使用H2,然后再尝试Hn,以避免在Hashtable中发生碰撞."

假设:我们有一个哈希表,其中n(其中n <Infinity)元素的渐近时间复杂度为o(1); 我们(CLR)在应用一些散列函数(Hn-1散列函数,其中n> 1)时实现了这一点.

问题:当我们寻找(检索)任何元素时(如果使用了不同的散列函数),有人可以解释一下CLR map如何键入哈希码?CLR如何跟踪(如果是)任何活动对象(哈希表)的哈希函数?

提前致谢

c# hashtable universal-hashing

8
推荐指数
1
解决办法
1970
查看次数

一般C#问题

下面的课有两种方法,其中M1抱怨'并非所有代码路径都返回一个值'而M2则没有.

问题:编译器如何在返回值的上下文中解析M2?如何将NotImplementedException实例隐式转换为int(如果有任何内部编译时间分辨率)

class A
        {
            int M1()
            {
            }
            int M2()
            {
                throw new NotImplementedException();
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# exception-handling language-design

6
推荐指数
1
解决办法
163
查看次数