弱弱的问问hash, hashtable?# JobHunting - 待字闺中
w*o
1 楼
大概知道hash, hashtable的概念,主要是为了快速的lookup。
可是如果面试的时候被问到hash, hashtable,通常他们要考核的是什么?是要实现一个
好的hash fuction呢?还是要实现一个hashtable的class?
平时自己写代码的时候如果要用到一个hashtable,是不是可以用C++ STL tr1/
hashtable来当做一个hashtable?
看了下面的链接,说是C++新的标准定义了四类hashtable,分别叫 unordered_set,
unordered_map, unordered_multiset, unordered_multimap.这些是通常意义上的
hashtale吗?
http://en.wikipedia.org/wiki/C%2B%2B0x
这个链接还说hashtables 是 unordered associative containers。我觉得
associative containers都是 (key, value)这样的。可是通常的简单的hashtable,也
就只有key,没有value, 不是associative container吧?!
最常用的hashtable到底是什么样子的?谁能给了简单的描述?insert的时候输入是什
么?把key也放进hashtable去吗?lookup的时候输入和输出分别是什么?
好像是有个简单的题可以用hashtable做,这个题是给一个数组,给一个target,找出
两个数的和等于target, 以这个为例子,如果用hashtable的话,这个简单的hashtable
应该有什么功能?insert(数),hashtable里存这个数吗?还是hashtable仅仅在某个对
应的地方做个标志?这个hashtable应该take care of 冲突吧?!
谢谢!
可是如果面试的时候被问到hash, hashtable,通常他们要考核的是什么?是要实现一个
好的hash fuction呢?还是要实现一个hashtable的class?
平时自己写代码的时候如果要用到一个hashtable,是不是可以用C++ STL tr1/
hashtable来当做一个hashtable?
看了下面的链接,说是C++新的标准定义了四类hashtable,分别叫 unordered_set,
unordered_map, unordered_multiset, unordered_multimap.这些是通常意义上的
hashtale吗?
http://en.wikipedia.org/wiki/C%2B%2B0x
这个链接还说hashtables 是 unordered associative containers。我觉得
associative containers都是 (key, value)这样的。可是通常的简单的hashtable,也
就只有key,没有value, 不是associative container吧?!
最常用的hashtable到底是什么样子的?谁能给了简单的描述?insert的时候输入是什
么?把key也放进hashtable去吗?lookup的时候输入和输出分别是什么?
好像是有个简单的题可以用hashtable做,这个题是给一个数组,给一个target,找出
两个数的和等于target, 以这个为例子,如果用hashtable的话,这个简单的hashtable
应该有什么功能?insert(数),hashtable里存这个数吗?还是hashtable仅仅在某个对
应的地方做个标志?这个hashtable应该take care of 冲突吧?!
谢谢!