假设我想用字符串作为键来映射数据.我应该选择哪个容器,map
或者unordered_map
?unordered_map
占用更多内存所以让我们假设内存不是问题,关注的是速度.
unordered_map
通常应该给出O(1)的平均复杂度与O(n)的最坏情况.在什么情况下它会到达O(n)?什么时候map
获得更多的时间效率unordered_map
?当n很小时会发生吗?
假设我将STL unordered_map
与默认的haser Vs一起使用.地图.字符串是关键.
如果我要迭代元素而不是每次访问单个元素,我应该更喜欢map
吗?
求职面试问题.假设我们有一个大小为N-2的数组,除了两个缺失值之外,所有值都从1到N.(N> 0)
需要一种用于查找两个缺失数的算法,该算法仅遍历数组一次.
使用优化选项/ Ob1编译Visual C++项目时,只有带有关键字__inline/inline的函数或者在类定义中定义的函数才会被内联(甚至不一定,但只有在编译器看到它适合的情况下).
我的问题是,是否有可能告诉编译器(在Visual C++下)只内联使用inline关键字内联定义的函数,而不是在/ Ob1优化选项下定义在类定义内定义的内联方法?
g ++编译器是否与Windows上的/ Ob1选项相同(例如,在g ++ -O3选项下),是否在类定义中定义了内联成员方法?如果是,是否有办法告诉它只内联带有inline关键字的类定义之外的函数?