第31495题 单选题
要实现统计英文句子中每个单词出现次数的功能,要求平均插入和查询速度最快,不需要输出排序后的结果,以下选型和操作正确的是?

已知单词总量不超过10万,允许极小概率的哈希冲突开销。

A

选择std::map<std::string, int>作为存储容器,因为其底层是红黑树,插入和查询的时间复杂度稳定为O(logn),性能比哈希容器更优。

B

选择std::unordered_set<std::string>作为存储容器,遍历所有单词插入集合后,遍历集合输出每个元素的count值即可得到出现次数。

C

若选择std::unordered_map<std::string, int>作为存储容器,必须手动为std::string类型实现自定义哈希函数,否则编译会报错。

D

选择std::unordered_map<std::string, int>作为存储容器,遍历每个单词执行counts[word]++即可完成统计,平均时间复杂度为O(n)(n为单词总数),符合性能要求。

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