搜索文档中出现次数最多的单词的最佳方式(算法)是什么?
答案 0 :(得分:2)
答案 1 :(得分:2)
查找文档中大多数时间出现的单词可以通过简单的histogram [基于哈希]在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)问题,因此在big O notation方面是最优的。