juste le traversal Étant donné dans l'ordre des nœuds, et pas plus d'informations sur la question, vous pouvez trouver un arbre binaire, mais comme vous l'avez dit, il n'y aura pas une solution unique (surtout si l'arbre ne doit pas être équilibré). Par conséquent, vous pouvez à nouveau trouver une traversée de précommande. Par exemple, si votre traversée d'ordre est [1,2,3,4,5,6,7,8]
, alors même si l'arbre est équilibré, il existe plusieurs possibilités pour le nœud racine (à savoir 4 ou 5). Si l'arbre n'est pas doit être équilibré, vous pouvez potentiellement choisir l'un de ceux-ci comme le nœud racine.
Voici un exemple d'un arbre non équilibré vous pourriez construire après avoir choisi arbitrairement 4 comme nœud racine:
4
/\
3 6
//\
2 5 7
/ \
1 8
traversal Pré-commande pour cet arbre rapporterait 4,3,2,1,6,5,7,8
. Encore une fois, si les seules exigences sont que vous trouverez juste un arbre binaire, cela est tout aussi valable que la mise en 1 comme nœud racine et de faire tout le reste un nœud à droite:
1
\
2
\
3
\
4
\
5
\
6
\
7
\
8
Le traversal précommande cet arbre serait 1,2,3,4,5,6,7,8
. Puisque ces arbres génèrent tous les deux la même traversée d'ordre, mais différents traversées de pré-commande, il n'est pas garanti qu'il s'agisse d'une seule arborescence unique ou même d'une unique traversée de pré-commande pour une traversée d'ordre donnée.
Alors, comment puis-je trouver l'arbre binaire avec donné afinde? Pouvez-vous m'expliquer s'il vous plaît? Merci. –
@Nisarg Patel En clarifiant ce que Milo a dit plus haut, il n'y a rien qui vous empêche d'avoir un "arbre binaire" qui utilise seulement les branches de gauche, ou qui n'utilise que des branches droites. Même dans le cas d'un arbre binaire équilibré, à moins que vous n'ayez exactement 2^n-1 branches, vous pouvez avoir préféré les enfants gauches ou droits pour la population. Compte tenu de tout cela, la pré-commande n'est pas unique, car elle dépend de la disposition des nœuds dans l'arborescence. Si vous construisez un arbre binaire en utilisant l'arrangement que vous préférez, vous pouvez ensuite construire la liste de pré-commande en fonction de cet arbre particulier. – WingedPanther73