STL:map与hash_map

来源:互联网 发布:apache cacti安装配置 编辑:程序博客网 时间:2024/05/17 06:03

map是STL中用来实现key-value查找的容器,是基于红黑树或者平衡二叉树来实现的。而hash_map是基于hash实现的map。

map的增删和查找的平均和最坏情况都是O(lgN),而hash_map的平均是O(1),最坏是O(N);

使用选择:

1)很多次操作,要求整体效率:推荐使用hash_map。

2)很少次操作,要求整体稳定性:推荐使用map。

3)其他情况,自己比较、斟酌。

注:Python中的map用起来通常比C++的map要快,是因为Python默认是使用hash_map来实现的。

原创粉丝点击