Запись Big-O о том, какой фактор доминирует, когда n
(размер ввода) приближается к бесконечности.Таким образом, если у вас есть два фрагмента кода A
и B
, выполняемых последовательно, то общее поведение времени будет больше, чем O (A
) и O (B
).
В вашемВ случае, если heapsort является алгоритмом O(nlogn)
, а цикл - просто алгоритмом O(n)
, тогда, когда n
приближается к бесконечности, nlogn
в конечном итоге будет намного больше, так что это единственный термин, который имеет значение. Итак, ваше общее временное поведение составляет O(nlogn)
.
Конечно, это все теория.В реальном мире, если вы будете делать что-то медленное внутри этого цикла (например, ввод / вывод), тогда ваш n
может оказаться огромным (возможно, больше, чем он когда-либо мог разумно получить), прежде чем сортировка слиянием будет медленнее, чемцикл.