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