William VOIROL
Messages postés261Date d'inscriptionmardi 12 décembre 2006StatutMembreDernière intervention10 juin 2019
-
26 déc. 2018 à 04:14
William VOIROL
Messages postés261Date d'inscriptionmardi 12 décembre 2006StatutMembreDernière intervention10 juin 2019
-
29 déc. 2018 à 01:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
William VOIROL
Messages postés261Date d'inscriptionmardi 12 décembre 2006StatutMembreDernière intervention10 juin 2019 29 déc. 2018 à 01:49
Bonjour,
Autre "bog" dans le source de "GeeksforGeeks"
(après celui des insertions doubles):
En faisant des tests de performance avec ce logiciel, c’est-à-dire avec par exemple un million de nœuds, les résultats étaient assez arbitraires.
Même deux exécutions d’une même compilation pouvaient donner des résultats différents !
Souvent, cela se produit lors d’une non-initialisation de variables !
Mais comment trouver la faille dans un code d’environ 240 lignes de code ?
Aussi mon propre code «HeightBlack » (avec «RecurHeightBlack ») indiquait souvent "consistant" un arbre bicolore manifestement incorrect !
Petit à petit, mes soupçons se sont portés sur la couleur.
Une impression intermédiaire m’a alors montré que la couleur d’un nœud pouvait avoir une valeur farfelue, et non RED (=0) ou BLACK (=1).
Finalement, il manque "simplement" l’initialisation: couleur = RED; dans le constructeur de la structure Node (à la ligne 22).
29 déc. 2018 à 01:49
Autre "bog" dans le source de "GeeksforGeeks"
(après celui des insertions doubles):
En faisant des tests de performance avec ce logiciel, c’est-à-dire avec par exemple un million de nœuds, les résultats étaient assez arbitraires.
Même deux exécutions d’une même compilation pouvaient donner des résultats différents !
Souvent, cela se produit lors d’une non-initialisation de variables !
Mais comment trouver la faille dans un code d’environ 240 lignes de code ?
Aussi mon propre code «HeightBlack » (avec «RecurHeightBlack ») indiquait souvent "consistant" un arbre bicolore manifestement incorrect !
Petit à petit, mes soupçons se sont portés sur la couleur.
Une impression intermédiaire m’a alors montré que la couleur d’un nœud pouvait avoir une valeur farfelue, et non RED (=0) ou BLACK (=1).
Finalement, il manque "simplement" l’initialisation: couleur = RED; dans le constructeur de la structure Node (à la ligne 22).