|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
来吧!老师们!我代表千千万万的asp.net/C#的初学者在这里呼唤着!Time33在效力和随机性两方面上俱佳。关于一个Hash函数,评价其好坏的尺度应为随机性,即对恣意一组标本,进进Hash表每个单位(cell)之几率的均匀水平,由于这个几率越均匀,数据在表中的散布就越均匀,表的空间使用率就越高。
Times33的算法很复杂,就是不休的乘33,见上面算法原型。
hash(i)=hash(i-1)*33+str[i]
代码以下:
PublicClassForm1
PrivateSubButton1_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesButton1.Click
DimmyhashAsULong=0
DimmystrAsString=TextBox1.Text
ForiAsInteger=0ToLen(mystr)-1
myhash=myhash*33+Strings.AscW(mystr(i))
Next
TextBox2.Text=myhash
EndSub
EndClass
本文链接http://www.cxybl.com/html/bcyy/net/20120604/27930.html效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。 |
|