diff options
Diffstat (limited to 'lib/BHeap.cc')
-rw-r--r-- | lib/BHeap.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/BHeap.cc b/lib/BHeap.cc index 1dfe6de..aaec87a 100644 --- a/lib/BHeap.cc +++ b/lib/BHeap.cc @@ -115,7 +115,7 @@ void BHeap::Link(BHeap * z) * L'algorithme a du être inventer car il n'est pas présenté dans le livre. * Par contre, il s'inspire fortement de l'algorithme "Fusion" pour le * tri-fusion. De plus, contrairement aux indication du livre, T2 sera rajouté - * APRES T1, et aucun tas binaire nouveau ne sera créé. + * APRES T1, et aucun tas binaire nouveau ne sera créé. (voir rapport) */ void BHeap::Merge(BHeap * H) @@ -288,6 +288,8 @@ Key_t BHeap::Extract_Min(Datas_t & Datas) // 3. inverser l'ordre de la liste chaînée des fils de x, // et faire pointer tête[T'] sur la tête de la liste résultante. + // Comme pour fusionner, nous effectuons le travail "sur place", + // pour éviter les problèmes dues aux recopies. (voir rapport) for (P = y->Child; P;) { P->Father = NULL; P2 = Before->Brother; |