作者Sucker (e04)
看板Grad-ProbAsk
标题[问题] 92中央资管资结
时间Thu Mar 19 12:44:00 2009
题目
http://140.115.130.224:8080/~arhui/cexamn/exam/MA02_92_04.pdf
答案
http://saintsucker.myweb.hinet.net/92.pdf
二、d
这题应该是double hashing吧
解答我看不出来是什麽东西 又写错了吗?
我解是这样
________
|0| |
|1| 4371 |
|2| |
|3| 1323 |
|4| 6173 |
|5| 9679 |
|6| |
|7| 4344 |
|8| |
|9| 4199 |
|________|
然後1989怎麽H不进去= =
h1(x)=1989%10=9
h2(x)=7-(1989%7)=6
算hash address:
(h1+ i * h2) % b
(9+1*6)10=5 X
(9+2*6)10=1 X
(9+3*6)10=7 X
(9+4*6)10=3 X
(9+5*6)10=9 X
(9+6*6)10=5 X
(9+7*6)10=1 X
...
无限循环
好诡异= =
另外再问一个问题
chaining的表示法
(1)
________
0| | |
1| 4371 | |
2| | |
3| 1323 | |--->6173
4| | |
5| | |
6| | |
7| | |
8| | |
9|______|_|
(2)
_______
0| |
1| |--->4371
2| |
3| |--->1323--->6173
4| |
5| |
6| |
7| |
8| |
9|______|
哪一种才是正规的呢 因为我两种都有看过
不知道考出来写哪种比较好 麻烦大家罗
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.86.176
1F:推 erictku:Q1的解答是用rehash吧 = = 所以才会是那个答案 03/19 13:19
2F:→ erictku:Q2的话 我会写第一种 应该都可以吧 03/19 13:19
3F:推 flyinsky76:Q1你不能用你自己的hash function去做rehashing 03/19 14:36
4F:推 erictku:给楼上 原po应该以为是double hashing 而不是rehashing 03/19 14:38