[課業] 107中鋼資訊工程 雜湊題

作者: legendsaga74 (柏青哥PA)   2018-03-10 16:23:25
https://i.imgur.com/8hRX0BG.png
我知道這是入門題,但還是有疑惑求解惑
官網公告參考答案是:第7個位置 why?
此題 7 個 buckets , 雜湊表位址(索引)即為 0~6
h(12) = (12%7)+1 = 6 (第7個位置)
h(26) = (26%7)+1 = 6 => 碰撞,放到下一格 0 (第1個位置)
^^^^^^^^^ 我的答案
是我對索引的概念不清楚嗎? 被題目這句「包含第一個位置到第七個位置」混淆?
如果雜湊表位址不從0計數而從1計數,即 1~7
那算出來就跟公告參考答案一樣
h(12) = 6 => 第六個位置
h(26) = 6 => 碰撞,放到第七個位置
求解答,感恩
作者: wf23 (paul)   2018-03-10 17:29:00
題目有規定從第1個位置開始算,不是從0
作者: pt7441 (批踢)   2018-03-10 17:32:00
第二行題目就回答你的疑問了
作者: chter ((分身別查了XD))   2018-03-10 17:35:00
根據題目表示,x指的是位置而非index* h(x)
作者: pt7441 (批踢)   2018-03-10 17:38:00
還是不懂就畫好圖自己用手數
作者: solasola10 (sola)   2018-03-10 18:39:00
有什麼問題嗎?因為h(x)表示位置,h(x)的運算是先將x%7再加1,而x%7就只有0-6七種可能,再加1,就是1-7七種可能,所以h(x)就只有1-7七種可能,位置當然不會從0開始..
作者: legendsaga74 (柏青哥PA)   2018-03-14 19:14:00
了解 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com