n_dicwords = [np.sum([c.lower().count(w.decode('utf-8')) for w in dictionary])
for c in documents]
Здесь я пытаюсь определить свою функцию времени инженерные вычисления:Временная сложность для сопоставления и подсчета между двумя списками
Используя эту строку кода, которая проходит через каждый документ и проверяет, является ли или нет, и если да, то сколько его слов также появляется в этом словаре, который у меня есть, он генерирует функцию, называемую n_dicwords. Извините, что я такой noob для теории сложности, я думаю, что сложность времени для создания этой функции O (n * m * w), где n - количество документов, m - количество слов в каждом документе, w - номер слов в словаре. Я прав? И если есть ли способ улучшить это?
Большое вам спасибо! Я очень благодарен за вашу помощь!
На самом деле стандартный набор в python - это хэш-набор (который для этого использования еще лучше), поэтому никаких дополнительных пакетов не требуется. –
О! Вы правы, я пропустил это! –
Почему вы удивлены, что 'x in s' является O (n)? Это почти буквально говорит «каждый« х »с индексом от 0 до« n-1' в 's'». – OJFord