作者SweepingMonk ((((((((((()))))))))))
看板EE_DSnP
標題Re: [問題] 關於forceInsert的b...
時間Mon Jun 23 19:36:41 2008
想請問 為什麼我們要用 forceInsert 而不是 push_back
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 spock:hash 本身有自己的 hash table,是 private 的。 06/23 19:13
2F:→ spock:所以要透過這種 interface method 來存取 hash table。 06/23 19:13
3F:→ spock:至於 b,你追一下 bddMgr.cpp 的 uniquify(),應該可以了解 06/23 19:16
4F:→ spock:它是 hash 水桶的號碼。XD 06/23 19:16
非常謝謝你!
但是...我還是不太了解(原諒我資質駑鈍)
那我這樣問好了 既然hash table是用vector來實作
那為什麼我們要給他一個index(我認為b的作用是當index)
去規定它要把hash node放在我們指定的地方呢?
因為vector本身只有提供push和pop
用index去規定hash node的位置 卻是insert的概念
還有我想釐清我的觀念
我覺得hash table應該是一個二維的陣列
而 bucketNum 和 b 分別是兩個維度的 index
這樣對嗎?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.234
5F:推 spock:是二維陣列沒錯。 06/23 19:39
6F:推 ric2k1:Hash "可以" 用二維陣列來 implement, 但是卻不是用二維 06/23 21:29
7F:→ ric2k1:陣列的存取方法來操作. 06/23 21:30
8F:→ ric2k1:bucketNum 與 b 通常是指相同的東西. 06/23 21:31
9F:→ ric2k1:請參照講義關於 has 部分的解釋. 06/23 21:32
10F:推 spock:sorry,我的回答有誤導之嫌 orz 06/23 22:13