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来实现的。