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

sf389694 单选题 共 个子题

已知单词总量不超过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为单词总数),符合性能要求。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧