TreeFold
TreeFold[f,tree]
连续折叠 tree 的子树,将 f 应用于每个子树的数据及其孩子节点的结果列表.
TreeFold[f,tree,h]
将 f 应用于 h[tree] 而非 tree 的数据.
TreeFold[{f,f-1},tree,h]
在最后一层应用 f-1 并在每个内部层应用 f.
更多信息
- TreeFold 根据 Tree 对象构造一个表达式,使用二元运算 f 从下向上折叠其子树:
- TreeFold 可用于将树的数据或子树累积或减少为单个值.
- TreeFold 以深度优先的顺序折叠子树,在折叠双亲节点之前折叠孩子节点: »
- 在 TreeFold[f,tree,h] 中,h[tree] 用作 f 而非 TreeData[tree] 的第一个参数. »
- 若 tree 为叶则 TreeFold[{…,f-1},tree,h] 给出 f-1[h[tree]]. »
- TreeFold[f,Tree[data,<key1tree1,key2tree2,… >]] 给出 f[data,<key1res1,key2res2,… >],其中 resi 是 TreeFold[f,treei] 的结果. »
- TreeFold[f][tree] 等价于 TreeFold[f,tree]. »
- TreeFold[f][tree,h] 等价于 TreeFold[f,tree,h]. »
范例
打开所有单元关闭所有单元基本范例 (4)
范围 (9)
应用 (11)
将固体区域和运算组成的树转换为 CSGRegion:
将树转换为 TextElement:
使用带有此函数的 TreeFold 计算树中叶子的最小层:
通过使用每个叶子的城市位置和每个聚类位置的空间中位数来获得大地位置的树图:
定义一个比较两人的函数,给出第一个孩子出生时年纪更小的人、出生的孩子及孩子出生时他们的年龄:
定义一个比较两位兄弟姐妹的函数,除了给出较年长的兄姐及其出生日期外,还给出了其后代中首次做父母时年龄最小的后代:
属性和关系 (14)
Fold 给出将二元运算符 f 连续应用于列表元素的结果:
TreeFold 给出连续将二元运算符 f 应用于树图数据的结果:
TreeFold 将运算符 f 应用于每个孩子的结果列表:
TreeFold[f,Tree[data,None]] 给出 data:
TreeFold[{f,f-1},Tree[data,None]] 改为将运算符 f-1 应用于 data:
TreeFold[f,Tree[data,{…}]] 给出 f[data,{…}]:
TreeFold[f,tree,h] 给出将 f 应用于 h[tree] 及孩子 treei 的结果列表 TreeFold[f,treei,h] 的结果:
TreeFold[f,tree] 等价于 TreeFold[{f,Identity},tree]:
TreeFold[{Tree,Tree[#,None]&},tree] 等价于 tree:
TreeFold 将函数应用于孩子的数据和结果:
TreeMap 可进行同样的计算:
根的新数据是 TreeFold 的结果:
使用 TreeFold 在每个子树上方插入一个父节点:
Map 默认情况下映射表达式中的参数:
使用 TreeFold 在每个子树之前插入一个兄弟节点:
Map 通过 HeadsTrue 映射表达式中的子表达式:
TreeFold[{f,f-1},tree] 等价于 TreeFold[f,TreeMap[f-1,tree,{-1}]]:
TreeFold 可用于计算树的最大层级:
TreeFold 可用于计算树的大小:
TreeFold 可用于将树转换为嵌套规则:
TreeFold 可用于从树的叶子创建表达式:
文本
Wolfram Research (2021),TreeFold,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeFold.html (更新于 2022 年).
CMS
Wolfram 语言. 2021. "TreeFold." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/TreeFold.html.
APA
Wolfram 语言. (2021). TreeFold. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreeFold.html 年