Скажем, у меня есть функция, которая просит пользователя ввести имя файла. Затем функция читает файл построчно и сохраняет его в списке, называемом строками. Затем я перебираю каждый символ в каждой строке файла.
for line in lines:
for char in line:
pass
Какова временная сложность этой функции? У меня возникают проблемы с пониманием концепции, когда вложенный цикл равен O (N ^ 2), а когда нет.