識別番号を保存するツリーを作成するという趣味のプロジェクトがあります。ノードに格納されている数字を使用しました。つまり、ノードは0 1 2 3 4 5 6 789になります。
ツリーを作成したら、ツリーからリストを作成します。しかし、目標を管理するためのアルゴリズムが見つかりませんでした。
私が欲しいもの:
"recompose tree" will return list of numbers. For below tree it should be
[ 2, 21, 243, 245, 246, 78, 789 ]
Root
/ \
2* 7
/ \ \
1* 4 8*
/ \ \ \
3* 5* 6* 9*
my data type : data ID x = ID ( ( x, Mark ), [ ID x ] )
data Mark = Marked | Unmarked
EDIT:
for convenience : * shows it is marked
I have stored digit as char, actually not 1,
it is stored as'1'
どうすればそれができるかアドバイスはありますか?(アドバイスはアルゴリズムであることが好ましい)