учитывая большой список отсортированных по алфавиту слов в файле, мне нужно написать программу, которая, учитывая слово x, определяет, есть ли x в списке. Предварительная обработка в порядке, так как я буду вызывать эту функцию много раз для разных входов.
приоритеты: 1. скорость. 2. память
Я уже знаю, что могу использовать (n - количество слов, m - средняя длина слов)
1. три, время - O (log (n)), пробел (лучший случай) - O (log (n m)), пробел (худший случай) - O (n m).
2. загрузить полный список в память, затем двоичный поиск, время O (log (n)), пространство O (n * m)
Я не уверен насчет сложности на три, пожалуйста, поправьте меня, если они не правы. И есть ли другие хорошие подходы?