J'ai la question suivante, mais je n'ai pas de réponse à cela. J'apprécierais si ma méthode est correcte:
Q. Lors de la recherche de la valeur de clé 60 dans une arborescence de recherche binaire, les nœuds contenant les valeurs de clé 10, 20, 40, 50, 70, 80, 90 sont parcourus, pas nécessairement dans l'ordre indiqué. Combien d'ordres différents sont possibles dans lesquels ces valeurs clés peuvent apparaître sur le chemin de recherche à partir du nœud racine contenant la valeur 60?
(A) 35 (B) 64 (C) 128 (D) 5040
D'après la question, je comprends que tous les nœuds donnés doivent être inclus dans la traversée et finalement nous devons atteindre la clé, 60. Par exemple, une telle combinaison serait:
10, 20, 40, 50, 90, 80, 70, 60.
Puisque nous devons traverser tous les nœuds donnés ci-dessus, nous devons commencer soit par 10 ou 90. Si nous commençons par 20, nous n'atteindrons pas 10 (puisque 60> 20 et nous traverserons le sous-arbre droit de 20)
De même, nous ne pouvons pas commencer par 80, car nous ne pourrons pas atteindre 90, puisque 80> 60, nous traverserons dans le sous-arbre gauche de 80 & n'atteindrons donc pas 90.
Prenons 10. Les nœuds restants sont 20, 40, 50, 70, 80, 90. Le nœud suivant pourrait être 20 ou 90. Nous ne pouvons pas prendre d'autres nœuds pour la même raison mentionnée précédemment.
Si nous considérons de la même manière, à chaque niveau, nous avons deux choix. Puisqu'il y a 7 nœuds, deux choix pour les 6 premiers et aucun choix pour le dernier. Il y a donc totalement
permutations = 2 6 = 64
Est-ce une bonne réponse?
Sinon, quelle est la meilleure approche?
Je voudrais généraliser. Si nœuds sont donnés, le nombre total de chemins de recherche possibles serait de 2 n - 1