python - 设计一个算法,找出书中最常用的单词

标签 python algorithm data-structures hash

一道面试题:

找出书中最常用的单词。

我的想法:

使用哈希表,遍历并标记哈希表。

如果已知这本书的大小,如果发现任何单词被使用> 50%,则在接下来的遍历中跳过任何新单词,只计算旧单词。如果书籍尺寸未知怎么办?

是O(n)和O(n)的时间和空间。

有什么更好的主意吗?

谢谢

最佳答案

要确定复杂性,我认为您需要考虑两个变量,n = 单词总数,m = 唯一单词数。我想最好的情况复杂度将接近 O(n log(m)) 速度和 O(m) 存储,假设每次迭代 n 个单词中的每一个,并基于哈希表构建和搜索或其他最终包含 m 个元素的结构。

关于python - 设计一个算法,找出书中最常用的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761860/

相关文章:

python - django-admin 面板中的限制性选择

python - 在Python psutil中调用函数时如何监控CPU的使用情况?

iphone - 吉他英雄型节拍器

ios - Firebase JSON 树结构

python - boto3是否支持到S3的VPC端点连接

python - 无法让 OpenCV 在 Mac 上使用 Python

algorithm - 3D 平面多边形之间的交集

javascript - 在 Google App Script 中使用导入的模块

ruby - Ruby 中有集合吗?

java - 使用 Java 中的映射实现的队列数据结构,大小限制为 5