Задать вопрос

Каким будет время работы построения кучи?

Каким будет время работы построения кучи, если просто последовательно добавить в кучу все n элементов?
  • Вопрос задан
  • 2262 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Скорее всего ответы
Ω(nlogn)
O(nlogn)
Так как для создания пустого массива и помещения туда последовательно элементов займет время O(n) + для поддержания свойств кучи (процесс просеивания) потребуется в худшем случае O(logn).
Но так как требуется выбрать все подходящие варианты, то:
Ω(n) - так как функция будет расти не медленнее.
И O(n^2) так как сверху функция ограничена n^2.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Mrrl
@Mrrl
Заводчик кардиганов
О(N*log(N)). Для каждого из последних N/2 элементов нужно примерно по log(N) операций.
Вот построить кучу, переставляя элементы уже заполненного массива, можно за O(N) операций.
Ответ написан
@throughtheether
human after all
Каким будет время работы построения кучи, если просто последовательно добавить в кучу все n элементов?

Мне нужно выбрать все верные варианты из следующих
O(n)
Ω(n2)
Ω(n)
O(n2)
Ω(nlogn)
O(nlogn)

Если мы последовательно добавляем элементы (всего их n) в кучу (бинарную кучу) и каждый раз восстанавливаем свойство кучи (верхняя оценка сложности O(logn), нижняя оценка Ω(1)), то верхняя оценка общей сложности будет O(nlogn), нижняя - Ω(n). Правильные варианты, на мой взгляд:
Ω(n), O(n2) (если имеется в виду O(n*n)),O(nlogn)
Ответ написан
Комментировать
overmes
@overmes
сложность будет N
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы