0

アルファベットの文字である 1 つのルートと 26 個の葉ノードを持つツリーを作成しようとしています。Scala のツリー構造について詳しく学ぶのに役立つ特定の読み物/リソースはありますか?

4

2 に答える 2

2

あなたが望むのはハフマンコーディングです。ここで Scalaコースの関数型プログラミングの原則を試してください。そのコースの第 4 週の課題はまさにあなたが必要としているものです。

于 2013-06-26T13:57:22.100 に答える
2

このようなもの?

scala> abstract class Tree[A]
defined class Tree

scala> case class Node[A](children : List[Tree[A]]) extends Tree[A]
defined class Node

scala> case class Leaf[A](value : A) extends Tree[A]
defined class Leaf

scala> val root = Node(children = ('A' to 'Z') map (Leaf(_)) toList )
root: Node[Char] = Node(List(Leaf(A), Leaf(B), Leaf(C), Leaf(D), Leaf(E), Leaf(F), ...
于 2013-06-26T14:38:08.493 に答える