第31503题 单选题
下列关于C++ STL哈希容器(unordered系列)应用的描述中,正确的是?

现有需求:统计一篇英文文章中所有单词的出现频次,最终仅需按频次高低排序输出结果,忽略单词预处理的开销,设单词总数量为n,不同单词的数量为m。

A

使用std::map<std::string, int>实现统计功能,插入所有单词的平均总时间复杂度为O(n log m),是该场景下的最优选择

B

使用std::unordered_map<std::string, int>实现统计时,若要获取单词"hello"的出现次数,只能先调用count("hello")判断存在后再通过[]运算符取值,无法直接使用at()方法取值

C

如果需要将自定义结构体作为unordered_map的key,当标准库没有提供该类型的默认哈希函数时,既可以自定义哈希函数作为模板参数传入,也可以通过特化std::hash模板的方式实现哈希支持

D

std::unordered_map的遍历顺序与元素插入顺序完全一致,因此无需额外存储即可直接按插入顺序输出单词统计结果

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析