В момента правя max-heap. Когато използвам метода remove(), разбирам, че бих разменил с по-големите деца. Ами ако и двете деца имат еднакъв приоритет? например
Случай 1:
куп = [5,7,7,16,15]
ако премахна 5 и го заменя с 15, ще се проточа надолу вдясно (което е грешно), така че ще се процедя надолу в лявата страна.
но използвайки същата логика, ако имам
куп = [5,7,7,16,15,18]
и се процеждам надолу наляво, вече няма да е валидна купчина.
Какво мога да направя, за да се уверя, че имам валидна купчина?