[問題] 雜湊函數、cpu執行速度等問題
1.假設有一程式在某台電腦中執行需要100秒,其中乘法指令共花掉80秒。若想縮短
執行時間,前提是只增加乘法器的速度,試問該乘法器至少需提升幾時間,才能
將執行時間從100秒縮短為25秒?
(a)4倍 (b)5倍 (c)12倍 (d)16倍
不知這題該怎麼算。
2.若以函數f(關鍵值)=(關鍵值+i*5) mod 23建立hashing table,其中i代表碰撞發生
次數。當關鍵值分別為43,20,66,23,91的資料依序被存在原先為空的雜湊表中
則全部儲存完後,下面哪個位址尚未儲存關鍵值?
(a)0 (b)7 (c)20 (d)21
我算的結果是f(43)=x..餘20
f(20)=x..餘20..發生碰撞(那是要把這個關鍵值存在哪呢?21嗎?)
f(66)=x...餘2
f(23)=x...餘0
f(91)=x...餘22
為什麼答案會是d呢??那為什麼不是b呢??
可能觀念有錯。請各位先進糾正..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.244.73.37
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):