2010-11-02 5 views
2

Je travaille actuellement sur une affectation pour une classe de structures de données et d'algorithmes.
Je dois supprimer le noeud hors du tas donné;Comment descendre?

  6  after replacing the node ;   20 
    / \          /\ 
    11  9          11 9 
    /\ /\         /\ /\ 
    17 18 15 10         17 18 15 10 
/
20 

La question que je me pose est de savoir si je devrais descendre à droite, à gauche ou est-ce important?

Répondre

2

Puisque vous avez un min-heap, votre opération downheap devrait échanger le nouveau parent avec le plus petit de ses enfants. Sinon, votre échange pourrait entraîner une violation de la condition de tas.

0

Vous devez permuter le nœud parent avec ce nœud enfant dont la valeur est la plus petite et ce processus doit continuer jusqu'à ce que la condition de base pour heap soit satisfaite

Questions connexes