TreePosition

TreePosition[tree,pattern]

给出数据与 pattern 匹配的 tree 的子树的位置列表.

TreePosition[tree,pattern,levelspec]

只给出 tree 的在 levelspec 指定的层上出现的匹配.

TreePosition[tree,pattern,levelspec,n]

给出找到的前 n 个匹配的位置.

TreePosition[pattern]

表示 TreePosition 的算符形式,可将其应用于树.

更多信息和选项

范例

打开所有单元关闭所有单元

基本范例  (4)

求数据为偶数的子树的位置:

找出数据为偶数的内部子树的位置:

求质数的前三个位置:

使用 TreePosition 的运算符形式:

范围  (5)

求数据为奇数的子树的位置:

求 0 层、1 层和 2 层上数据为奇数的子树的位置:

找出数据为奇数的叶子树的位置:

找出数据为奇数的内部子树的位置:

找出前四个数据为奇数的子树的位置:

选项  (3)

TreeTraversalOrder  (3)

默认情况下,子树以深度优先顺序访问,父节点在子节点之后访问:

指定自上而下的变体:

按字典顺序列出位置:

以广度优先顺序访问子树,从根开始同一级别的节点在下一级的节点之前被访问:

以规范顺序列出位置:

以叶子优先顺序访问子树,与叶子相同级别的节点在下一级节点之前被访问:

应用  (1)

计算节点最多的层:

属性和关系  (4)

TreeCases 提取由 TreePosition 给出的位置:

TreeCount 给出由 TreePosition 给出的匹配位置数:

Position[expr,pattern,levelspec,HeadsFalse] 等价于 TreePosition[ExpressionTree[expr,"Subexpressions"],pattern,levelspec]:

对于正的层,Position[expr,pattern,levelspec] 等价于 TreePosition[ExpressionTree[expr,"Subexpressions",HeadsTrue],pattern,levelspec]-1]

可能存在的问题  (1)

TreePosition 默认情况下从层 1 开始,因此不访问根:

Wolfram Research (2021),TreePosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreePosition.html (更新于 2021 年).

文本

Wolfram Research (2021),TreePosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreePosition.html (更新于 2021 年).

CMS

Wolfram 语言. 2021. "TreePosition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/TreePosition.html.

APA

Wolfram 语言. (2021). TreePosition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreePosition.html 年

BibTeX

@misc{reference.wolfram_2024_treeposition, author="Wolfram Research", title="{TreePosition}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/TreePosition.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_treeposition, organization={Wolfram Research}, title={TreePosition}, year={2021}, url={https://reference.wolfram.com/language/ref/TreePosition.html}, note=[Accessed: 22-November-2024 ]}