Binary Search Tree
任意の1つのトラバーサル(、、または)、またはそれらの任意の2つの組み合わせからのpre
構築post
に関するin-order
さまざまなサイトの多数の記事に非常に混乱しています。たとえば、このページでは、トラバーサルとともに、、または順序トラバーサルpre
がpost
与えられると、を構築できると書かれています。しかし、あちこちで、彼らは私たちに一人でからを構築することを示しています。また、ここでは、与えられたトラバーサルからを構築する方法を示します。他のいくつかのサイトで、トラバーサルのみからを構築するための解決策を見つけました。level
in-order
BST
BST
pre-order
BST
pre
post-order
BST
post-order
inorder
これで、とpre-order
トラバーサルが与えられると、を一意に形成できることがわかりましたBST
。私が提供した最初のリンクに関しては、BST
frompre-order
とを構築できないと言われてpost-order
いますが、配列を並べ替えてトラバーサルpost-order
を取得し、それと配列を使用して?を形成することはできません。それは4番目のリンクのソリューションと同じですか、それとも異なりますか?そして、与えられただけで、それを並べ替えてを取得し、それとを使用してを取得できます。繰り返しますが、それはリンク2と3のソリューションとは異なる必要がありますか?inorder
pre-order
BST
pre-order
in-order
pre-order
BST
具体的には、一意に生成するのに十分なものは何BST
ですか?一意性が必要ない場合は、単純にソートしてin-order
トラバーサルを取得し、そこからN個BST
の可能なものの1つを再帰的に構築できます。