Как вычислять сложность алгоритмов?
Начните с цикла статей на хабре Введение в анализ сложности алгоритмов
В данном случае, даже анализ алгоритмов знать не надо, просто разделите N^2/(NlogN) (по основанию 2). А вообще есть стандартные книги типа Кормена и компании. От себя могу порекомендовать Алгоритмы на Java" Роберт Седжвик, Кевин Уэйн, очень хорошо объясняется и море упражнений.
Еще есть несколько курсов на coursera 1, 2.