По сути, это действительно O (t * z), но если в проблеме нет ничего конкретного, вы обычно просто говорите O (n ^ 2). Причина этого довольно проста: предположим, что у вас есть t, z с t & ne; z. Тогда для любого конкретного t, z существует t / z, который является константой. Вы можете выделить это, оно станет константой в выражении, и у вас будет n ^ 2. O (n ^ 2) - это то же самое, что O (t ^ 2) для наших целей - немного правильнее было бы сказать O (t ^ 2), но большинство людей поймут, что вы используете родовой n.
Обновление
Хорошо, извините, давайте продолжим. Нам даны t, z, как положительные натуральные числа с t & ne; z, так и без какой-либо конкретной функциональной связи между t и z. (Да, может быть таким отношением, но оно не в формулировке проблемы. Если мы не можем сделать такое предположение, то на проблему нельзя ответить: рассмотрим, например, что z = t x . Мы не знаем x , поэтому мы никогда не можем сказать, каким будет время выполнения. 1017 * z = s t . Если я могу утверждать, что функциональное отношение может существовать, то ответ неопределен.)
Теперь при рассмотрении мы можем видеть, что это будет O (t * z). Вызовите функцию, которая является реальным временем выполнения f (n) = n 2 . По определению O (f (tz)) означает время выполнения f (tz) & le; кг (тс) для некоторой константы k> 0. Разделите на z. Тогда f (t) / z & le; (к / з) г (т) и, следовательно, f (т) & le; кг (т) . Подставляем и получаем f (t) = t 2 , а переименование переменной дает O (n 2 ) .