Может кто-нибудь объяснить, как построить кучу O (n) сложности?
Вставка элемента в кучу O(log n)
, а вставка повторяется n/2 раза (остальные - листья и не могут нарушать свойство кучи). Таким образом, это означает, что сложность должна быть O(n log n)
, я бы подумал.
Другими словами, для каждого элемента, который мы "heapify", у него есть возможность отфильтровать один раз для каждого уровня для кучи до сих пор (это уровни log n).
Что мне не хватает?