Как удалить в кучу структуру данных?

Я понимаю, как удалить корневой узел из максимальной кучи, но является ли процедура удаления узла из середины повторным удалением и заменой корня, пока не будет удален нужный узел?

Является ли O (log n) оптимальной сложностью для этой процедуры?

Влияет ли это на большую сложность O, поскольку другие узлы должны быть удалены, чтобы удалить конкретный узел?