Je vais avoir un sacré temps à essayer de comprendre celui-ci. Partout où je regarde, il me semble que je ne trouve que des explications sur la façon de traverser la liste de façon non récursive (la partie que je comprends). Quelqu'un peut-il marteler comment exactement je peux parcourir la liste au départ et trouver les nœuds prédécesseur/successeur réels afin que je puisse les marquer dans la classe de nœud? Je dois être capable de créer un arbre de recherche binaire simple et parcourir la liste et rediriger les liens nuls vers le prédécesseur/successeur. J'ai eu un peu de chance avec une solution un peu comme ce qui suit:Droite Threading un arbre binaire
thread(node n, node p) {
if (n.left !=null)
thread (n.left, n);
if (n.right !=null) {
thread (n.right, p);
}
n.right = p;
}
trouver les nœuds prédécesseur/successeur? est-ce la même chose que le parent et les enfants? Pourquoi créez-vous un arbre avec des trous? – nlucaroni
Pour clarifier pour quelqu'un d'autre qui n'a pas entièrement saisi votre question, je suppose que vous essayez de lier chaque nœud d'un arbre binaire à son prédécesseur et successeur en ordre (comme décrit ici: http: //en.wikipedia. org/wiki/Threaded_binary_tree), n'est-ce pas? – Suppressingfire