Действительно, если время выполнения функции равно O (mn) и вы точно знаете, что m ≤ n, то время выполнения функции равно O (n 2 ).
Однако, возможно, это не лучший способ охарактеризовать время выполнения. Если m - настраиваемый параметр, который может находиться в диапазоне, скажем, от 0 до n, то O (mn) может быть «лучшим» способом характеристики времени выполнения. Например, предположим, что это алгоритм, который находит m наименьших элементов из массива n элементов. Если вы хотите использовать этот алгоритм, чтобы найти пять верхних элементов (m = 5) из десяти миллионов (n = 10 6 ), то характеризуя время выполнения как O (n 2 ) значительно переоценил бы фактический объем проделанной работы, в то время как O (mn) дало бы лучшую оценку времени выполнения. хорошая причина характеризовать среду выполнения как O (mn), поскольку она показывает вам, как среда выполнения масштабируется со средой выполнения обеих входных строк, а не только одной из строк.
Надеюсь, это поможет!