Лучшим подходом к этому является рассмотрение того, сколько шагов будет выполняться алгоритмом.
Если у вас есть n элементов, вы знаете, что внешний цикл будет работать не менее n раз. Поэтому он должен быть как минимум O (n).
Сколько раз внутренний цикл должен запускаться для каждого i? Увеличивается ли он, остается неизменным или уменьшается по мере увеличения?
Понятно, что количество шагов во внутреннем цикле будет уменьшаться по мере увеличения i, и, что более важно, оно уменьшается нелинейно. Значит, вы знаете, что это не так плохо, как O (n^2).
Таким образом, он находится где-то между O (n) и O (n^2) .... немного больше анализа того, как шаги, которые уменьшаются во внутреннем цикле, должны получить вас там. EDIT: ... Хотя похоже, что люди уже дали это :)
Ничего себе, это было быстро; вопрос, на который я ответил, ушел :) – Dave
s/question/answer/ – Dave