當前位置:成語大全網 - 新華字典 - STL的map為什麽用紅黑樹而不是哈希

STL的map為什麽用紅黑樹而不是哈希

用紅黑樹雖然速度可能會略遜於哈希,但是整體來說,應該更節省內存。

速度我們不說,肯定慢很多.

省內存,我們來分析壹下.

壹個紅黑樹的節點,有左右節點指針,和父節點指針,這就是三個指針的大小+value_type的大小;

unordered_map呢,開放地址法,就value_type,如果是開鏈法,那就是prev指針和next指針,倆指針+value_type

也就是說,當妳的value_type越小,紅黑樹越浪費內存.

而hash table呢,主要是填充因子,比如0.5的填充因子,那麽那些桶是要浪費壹些內存的.