由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - interview question: (RB tree vs. hash table)
相关主题
map是用什么data structure来implement的?STL map
AVL 和 Red Back Tree 那个比较容易implement. (转载)good C++ open source project?
请教算法题stl: How to implement map idea with vector in stl ?
请问关于hash table的大小设定问题。 (转载)一个STL的问题
c++ stl里面有hash table吗?STL iterator的疑问
一个C++的问题How is map implemented in STL?
弱弱的问问跟hash有关的问题 (转载)If using C++, please avoid the use of STL for these questio (转载)
问个小问题[合集] 如何得到一个指向STL元素的指针?
相关话题的讨论汇总
话题: rb话题: hash话题: table话题: tree话题: vs
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 2024
1
why is STL map implemented by RB-tree, rather than hash table?
can some one explain the cons and pros of RB-tree and hash table, when to
pick which to use?
RB-tree VS. hash table.
Thanks.
h****8
发帖数: 599
2
因为map的元素是按照key排序的 所以要用rbt,hashtable不能排
z****e
发帖数: 2024
3
你这点说得非常对,map里边有iterator,是可以按顺序遍历的,hash 无法排序,无法
选择(比如第ith smallest)。
我还加一点,就是dynamic hash table. 因为事先不知道元素多少,无法确定table大
小,只能用table被填满一半,就把table大小翻倍,(linear probing 情况下)。这
个操作比较昂贵。用separate chaining 的话,元素越多,就越来效率越低。说是O(1)
的操作,最后都不知道O几了。
所以,不知道大小,就RB-tree,实现动态调整大小,而且,插,删,找,永远log(N)。
不知道这样说对不对,还有没有其他补充。
多谢大家。

【在 h****8 的大作中提到】
: 因为map的元素是按照key排序的 所以要用rbt,hashtable不能排
: 序

h****8
发帖数: 599
4
table size翻倍到不一定 因为可以表中存指针,指针指向指针数组,数组
里的指针都指向动态分配的内存块,这才是真正key所在的位置 一旦满了就多分配
一块好了,不需要复制已有的元素
麻烦的是删除 而且有时候space开销太大如果hash func取得不好的话
B*******g
发帖数: 1593
5
http://www.codeguru.com/forum/archive/index.php/t-386222.html
里面有一些讨论和link

to

【在 z****e 的大作中提到】
: why is STL map implemented by RB-tree, rather than hash table?
: can some one explain the cons and pros of RB-tree and hash table, when to
: pick which to use?
: RB-tree VS. hash table.
: Thanks.

1 (共1页)
进入Programming版参与讨论
相关主题
[合集] 如何得到一个指向STL元素的指针?c++ stl里面有hash table吗?
typedef const char *month Table[3]一个C++的问题
C++指针问题 int (*) [10]弱弱的问问跟hash有关的问题 (转载)
auto_ptr, algorithm 混用问题,大侠们救我。头疼死了!问个小问题
map是用什么data structure来implement的?STL map
AVL 和 Red Back Tree 那个比较容易implement. (转载)good C++ open source project?
请教算法题stl: How to implement map idea with vector in stl ?
请问关于hash table的大小设定问题。 (转载)一个STL的问题
相关话题的讨论汇总
话题: rb话题: hash话题: table话题: tree话题: vs