La proprietà heap nella definizione di heap binari si applica in modo ricorsivo?

cs.stackexchange https://cs.stackexchange.com/questions/126936

  •  29-09-2020
  •  | 
  •  

Domanda

La definizione di binary heaps dice che dovrebbe essere un albero binario completo e dovrebbe seguire la proprietà dell'heap dove in base alla proprietà heap, la chiave memorizzata in ciascun nodo è maggiore o uguale o inferiore o uguale atasti nei bambini del nodo.

 Tree Binary

Nell'albero sopra, il nodo con valore 70 è maggiore del suo genitore 10 che rompe la proprietà del mucchio.Tuttavia, 70 è anche maggiore di 40 anni e si trova nella sottostruttura di 40. Diremo che anche la proprietà dell'heap si sta rompendo a 40 anni, anche se 40 è maggiore dei suoi due figli 10 e 2?

In termini semplici dovrebbe ogni nodo nel sottosuolo di una radice essere più piccolo della radice?

È stato utile?

Soluzione

Penserei che la maggior parte delle persone direbbe solo che la proprietà dell'heap si applica solo a un vertice e ai suoi figli immediati, perché è una definizione sufficiente per mantenere la proprietà heap "ricorsiva" ovunque.È un modo più pulito per pensarci (devi solo controllare o (1) oggetti per vertice per verificare che un albero sia un mucchio, al contrario di o (n) per vertice).

Non so se c'è esattamente un consenso su questo, e forse alcune altre persone pensano in modo diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top