+2 голосов
спросил от
В некоторых программах асимптотическое время алгоритма должно проходить за отведенное время, но иногда этого не случается, как это можно исправить?

1 Ответ

+1 голос
ответил от (220 баллов)
Могут помочь следующие оптимизации:

1) Поменяй все функции рекурсии на циклы(если рекурсия не требуется в задаче)

2) Перемести всю программу под функцию, чтобы в основном теле выполнялась только одна функция(main() например)

3) Исправь все возведения в степень на умножение (i ** 2 = i * i, i ** 3 = i * i * i)

4) Если ты добавляешь какой то массив в конец другого то лучше это делать не циклом с методом .append() от этого элемента, а методом .extend() от массива который ты хочешь добавить.

5) Есть еще куча оптимизаций, но на данный момент помню только эти(мне они помогали).

Если это не поможет то думаю следует обратиться к семинаристу с этим вопросом.
Добро пожаловать на сайт CS.HSE Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...