2016-05-02 5 views
-1

Für die Downheap-Funktion vergleichen wir normalerweise zuerst die zwei Kinderwerte, bestimmen, welche kleiner ist, und vergleichen den Elternwert mit dem Wert des kleineren Kindes und zuletzt wechseln. Aber was ist, wenn ich nur den Elternwert mit dem linken Kind vergleichen, wenn größer, wechseln. Und vergleichen Sie das richtige Kind, wenn größer, wechseln. Funktioniert das?Algorithmus Downheap

+0

Warum ist dies markiert mit 'C++'? – 4386427

+0

Keine Ahnung - es gibt keinen C++ - Code, der zu sehen ist. Nicht markiert. – MSalters

Antwort

0

Solange jedes Elternteil kleiner als seine Kinder ist - es wird funktionieren. Beachten Sie, dass Sie in Ihrem Fall zwei Schalter schalten. Für jeden Switch müssen Sie den neuen Elternteil mit seinen Kindern (den Enkelkindern des ursprünglichen Elternteils) vergleichen. Also solltest du lieber einen Schalter machen und nicht zwei.