Будет ли эта функция линейной, квадратичной или нет? (С #)

Циркулярный импорт в Flask меня заводит. Из документов: http://flask.pocoo.org/docs/0.10/patterns/packages/

... Имейте в виду, что это плохая идея в целом, но здесь это на самом деле прекрасно.

blockquote>

Это не нормально. Это глубоко неправильно. Я также считаю, что любой код в __init__.py является плохой практикой. Это делает приложение сложнее масштабировать. Чертежи - это способ облегчить проблему с помощью циркулярного импорта. Я думаю, что Фласку нужно больше этого.

-5
задан Marcus DeCuir 16 January 2019 в 17:58
поделиться

1 ответ

Сложность алгоритма является асимптотическим поведением по мере роста n. Если не указано, мы принимаем поведение в худшем случае. Здесь этот наихудший случай - когда каждый элемент является новым для списка, так что Any должен пройти весь существующий список.

Вы прибили эти части: внешний цикл выполняется n раз; внутренний цикл должен обходить этот список до тех пор, пока не найдет элемент (можно предположить, что он проверяет элементы m, где m - текущий размер списка) или не найдет его (проверяет все элементы m). ]

В худшем случае, Any 1 + 2 + 3 + ... + (n-1) раз, добавляя каждый item в список. Я уверен, что вы узнаете это как O (n ^ 2) .

Предполагая, что дубликаты являются некоторой фиксированной или ограниченной пропорцией исходного списка, это выражение зависит от n.

Это помогает пониманию?


Пояснение:

Сумма последовательности 1 .. n равна n(n+1) / 2 или (n ^ 2 + n) / 2. Здесь преобладает член n ^ 2.

0
ответ дан Prune 16 January 2019 в 17:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: