Как правильно оценить временную сложность алгоритма?
В общем случае да. Но иногда подобные оценки можно упростить. И упрощения можно делать по двум статьям:
1. Более точные оценки. В данном случае не могу придумать.
2. Более простые оценки: ведь оценка — это символ Ландау O(f(·)), который с точностью до константы. Если, например, K<N, а L<M, то сложность будет просто N·M.
Наверное мат ожидание E[KL], что если они (K и L) независимы то Е[K]E[L]