und was mache ich dann?
1568 wie kann ich es denn hinschreiben?. komme nicht weiter
1568
1658 ???
1586 ???
Algorithmen[6]#2
Re: Algorithmen[6]#2
Am besten zuerst die Bäume zeichnen, um besser zu sehen, welche Möglichkeiten es gibt.
Beachten:
In Feld 0 steht das Element ganz oben, in 1 das in der 2. Ebene links, in 2 das in der 2. Ebene rechts, in 3 das in der 3. Ebene links usw...
Beachten:
- "Kinder" müssen immer größer oder gleich sein wie ihr Vater
- Jede Ebene, außer die ganz unten, muss vollständig aufgefüllt sein
- Die unterste Ebene muss von links nach rechts aufgefüllt werden
In Feld 0 steht das Element ganz oben, in 1 das in der 2. Ebene links, in 2 das in der 2. Ebene rechts, in 3 das in der 3. Ebene links usw...
-
- Beiträge: 8
- Registriert: Di 11. Nov 2008, 13:57
Re: Algorithmen[6]#2
ja und somit sind meine lösungen richtig oder?
habe die bäume gemacht und das mit den eltern und kindern durchgemacht. geht für die 2 fälle.
jedoch bin ich mir nicht sicher wie man die letzte zahl vergleichen kann. da bei eltern (2 eintrag) die kinder bei 4 und 5 sind.
somit kann ich nur die erste zahl auf ihre kinder vergleichen und zuletzt nur das eine linke kind von der zweiten zahl. oder liege ich da falsch?
habe die bäume gemacht und das mit den eltern und kindern durchgemacht. geht für die 2 fälle.
jedoch bin ich mir nicht sicher wie man die letzte zahl vergleichen kann. da bei eltern (2 eintrag) die kinder bei 4 und 5 sind.
somit kann ich nur die erste zahl auf ihre kinder vergleichen und zuletzt nur das eine linke kind von der zweiten zahl. oder liege ich da falsch?
Re: Algorithmen[6]#2
Ja deine drei Lösungen scheinen zu stimmen.
Statt zu kontrollieren, ob die Kinder größer sind, kannst du auch einfach bei jedem Knoten kontrollieren, ob der Vater(bzw. die Mutter ) kleiner ist.
Also ob das Element in der Ebene darüber, mit dem es verbunden ist, kleiner ist. Wenn das bei allen Knoten passt, dann stimmt es. Die Wurzel hat natürlich keinen Vater, da sie ja das kleinste Element ist.
Das ist aber nur bei MinHeaps so. bei MaxHeaps ist es genau umgekehrt, da müsste der Vater immer größer sein.
Statt zu kontrollieren, ob die Kinder größer sind, kannst du auch einfach bei jedem Knoten kontrollieren, ob der Vater(bzw. die Mutter ) kleiner ist.
Also ob das Element in der Ebene darüber, mit dem es verbunden ist, kleiner ist. Wenn das bei allen Knoten passt, dann stimmt es. Die Wurzel hat natürlich keinen Vater, da sie ja das kleinste Element ist.
Das ist aber nur bei MinHeaps so. bei MaxHeaps ist es genau umgekehrt, da müsste der Vater immer größer sein.