0
2つのリストに基づいてツリーを生成する方法を知りたいと思います。例えば、プリオーダー、インオーダー所望ツリーの一つを生成する第二の1つを表す最初のもの:2つのリストに基づいてツリーを生成する
data Tree a = Branch a (Tree a) (Tree a) | Leaf deriving Show
genTree :: [a] -> [a] -> Tree a
genTree [7,9,2] [9,7,2] =
Branch 7 (Branch 9 Leaf Leaf) (Branch 2 Leaf Leaf)
が任意の提案が受け入れられ、ありがとう!
一目では、私はそれが正常に重複する値 – luqui
@luquiを含む木を処理していない疑いがあるはい、それは本当だ、これはアルゴリズムを示すだけでピースコードです。重複については、 '0 0 0 0 ... 0'と' 0 0 0 0 ... 0'を使ってツリーを復元する方法は?これは型シグネチャ '[a] - > [a] - > [Tree a]'の別の質問です。 Duplicatesは私たちを列挙します。しかし、彼らは同じ考えを共有しています。 – delta