如何用后缀表示法编写 n 叉树?
How do you write an n-ary tree in postfix notation?
我正在尝试理解 this paper,通过下推自动机 在排名有序的树中匹配树模板。第一步是用后缀符号表示树。
我怎样才能得到这样一棵树:
foo
bar
abc
def
bar
abc
a
b
a
b
c
d
e
def
abc
baz
bar
abc
a
b
c
abc
def
然后用后缀表示法写出来?
没有多大意义。但是,您可以使用括号:
...(abc a b c)bar abc def)baz)foo
或者指定每个运算符的操作数个数:
... abc a b c bar4 abc def baz3 foo3
甚至:
... abc0 a0 b0 c0 bar4 abc0 def0 baz3 foo3
在那篇论文中,你所问的树是不可能的,因为你有具有相同“符号”(名称)但 children 数量不同的节点。然而,这篇论文假设字母表中的每个符号都有一个指定的“arity”(标有该符号的节点的 children 的数量)。顺便说一下,叶子符号的元数为 0。
开头的基本定义部分(非常简短地)提到了这一点:
A ranked alphabet is a couple = (Σ, φ), where Σ is an alphabet and φ is a mapping . The arity (rank) of a symbol x ∈ Σ is φ(x).
换句话说,有一个数学函数可以告诉您一个标记节点将有多少个 children,您可以在后缀表示法中使用它来了解该符号之前有多少子树。 (另请注意,包含 arity 函数的 是他们对 PDA 定义的一部分。)
我正在尝试理解 this paper,通过下推自动机 在排名有序的树中匹配树模板。第一步是用后缀符号表示树。
我怎样才能得到这样一棵树:
foo
bar
abc
def
bar
abc
a
b
a
b
c
d
e
def
abc
baz
bar
abc
a
b
c
abc
def
然后用后缀表示法写出来?
没有多大意义。但是,您可以使用括号:
...(abc a b c)bar abc def)baz)foo
或者指定每个运算符的操作数个数:
... abc a b c bar4 abc def baz3 foo3
甚至:
... abc0 a0 b0 c0 bar4 abc0 def0 baz3 foo3
在那篇论文中,你所问的树是不可能的,因为你有具有相同“符号”(名称)但 children 数量不同的节点。然而,这篇论文假设字母表中的每个符号都有一个指定的“arity”(标有该符号的节点的 children 的数量)。顺便说一下,叶子符号的元数为 0。
开头的基本定义部分(非常简短地)提到了这一点:
A ranked alphabet is a couple = (Σ, φ), where Σ is an alphabet and φ is a mapping . The arity (rank) of a symbol x ∈ Σ is φ(x).
换句话说,有一个数学函数可以告诉您一个标记节点将有多少个 children,您可以在后缀表示法中使用它来了解该符号之前有多少子树。 (另请注意,包含 arity 函数的 是他们对 PDA 定义的一部分。)