作者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