2
我需要的是像scalaz.Tree
玫瑰樹數據結構或以下:如何追加到玫瑰樹在斯卡拉
case class Tree[A](root: A, children: Stream[Tree[A]])
但是我有一個很難理解如何編寫一個函數追加節點。一般來說,我知道追加一個節點需要重建樹,而用不可變的數據結構做這件事需要遞歸函數,但我無法將它們放在一起。我確實看到了Scala: Tree Insert Tail Recursion With Complex Structure,但由於涉及二叉樹,我並不十分清楚如何爲多路樹實現它。
傳統上,我會實現這個mutable使用數組或等。我應該閱讀一些書或資源以更多地瞭解功能數據結構嗎?或者是否有一些示例代碼可以推薦給我閱讀?