Re: [問題] hash 問題
※ 引述《yichishao ()》之銘言:
: 爬了一下版對hash還是有點不了解
: 想請問一下
: 1.在class HashKey中 operator == ,是要檢查key 一樣且gate 的fanin是不是完全一樣嗎?
Key 一樣 (i.e. "==" return true) 應該就是指 fanins 完全一樣.
只是說 不一樣的 keys 可能透過 hash function (i.e. () operator) 可能會得到
相同的 value, 因此 map 到相同的 bucket,
在上述的情形就是要去比較同一個 bucket 裡面有沒有 相同 key 的 element
: 2.在class Hash中的 check(HashKey& k, HashData& n)
: if yes, update n and return true; 看了一下之前的討論還是不太懂update n的用意?
: 這個update的意思是把在hash table 找到的HashData ref 給 n 嗎?
因為 key 相同表示同樣 fanins 的 gate 以前已經被存在 hash 裏頭了,
因此,可以直接把之前存的 data 直接 assign 給 n (note: n is passed by ref).
: 3.在replace Insert是說如果有找到一樣的fanin 的gate在hash table的話,
: 把原本存在裡面的HashNode(k, *) 刪掉, 再把 HashNode(k, d) insert進去嗎
其實也可以不用刪掉,就直接覆蓋上去就好了...
: 謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.62.203
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):