#python #алгоритм #python_3x
Какова сложность алгоритма поиска подстроки в строке, и как она подсчитана? Прошу объяснить. (алгоритм сыроват, но упрощён в качестве примера и для понимания) text='bla-bla-this-bla' subtext='this' for i,element in enumerate(text): if element == subtext[0]: if subtext == text[i:i+len(subtext)]: print(i)
Ответы
Ответ 1
Пусть: n = len(text) m = len(subtext) Очевидно что цикл for сделает в худшем случае n итераций, внутри каждой итерации в худшем случае мы делаем слайс text[i:i+len(subtext)], который выполняется за O(m), а затем сравнение за те же O(m), в итоге получаем O(nm).
Комментариев нет:
Отправить комментарий