搜索文档中出现次数最多的单词的最佳方法(算法)是什么?
可以通过简单的直方图 [基于哈希] 在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表示法来看是最佳的。