小编典典

查找出现次数最多的单词

algorithm

搜索文档中出现次数最多的单词的最佳方法(算法)是什么?


阅读 555

收藏
2020-07-28

共1个答案

小编典典

可以通过简单的直方图 [基于哈希]
在O(n)中查找文档中最常出现的单词:

histogram <- new map<String,int>
for each word in document: 
   if word in histogram:
      histogram[word] <- histogram[word] + 1
   else:
      histogram[word] <- 1
max <- 0
maxWord<- ""
for each word in histogram:
  if histogram[word] > max:
     max <- histogram[word]
     maxWord <- word
return maxWord

这是O(n)解决方案,并且由于问题显然是Omega(n)问题,因此从大O表示法来看是最佳的。

2020-07-28