Нахождение слова, которое встречается в документе чаще всего, может быть выполнено в 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 нотации .