August 27, 2024

P70 - Tree construction from a node string.

We suppose that the nodes of a multiway tree contain single characters.  In the depth-first order sequence of its nodes, a special character ^ has been inserted whenever, during the tree traversal, the move is a backtrack to the previous level.

multiway tree

By this rule, the tree in the figure opposite is represented as:

scala

afg^^c^bd^e^^^

Define the syntax of the string and write a function string2MTree to construct an MTree from a String.  Make the function an implicit conversion from String.  Write the reverse function, and make it the toString method of MTree.

scala

scala> MTree('a', List(MTree('f', List(MTree('g'))), MTree('c'), MTree('b', List(MTree('d'), MTree('e'))))).toString
res0: String = afg^^c^bd^e^^^
Be first to comment
Leave a reply