TreeMap

TreeMap[f,tree]

tree 的每个子树的数据应用 f.

TreeMap[f,tree,levelspec]

f 应用于 tree 中由 levelspec 指定的层级处的子树的数据.

TreeMap[f,tree,levelspecelems]

f 应用于由 levelspec 指定的层级处子树的元素 elems.

TreeMap[f]

表示可以应用于树的 TreeMap 的算符形式.

更多信息和选项

  • TreeMap 允许将函数应用于 Tree 对象中任何层级范围内的子树元素. 该函数可以以多种顺序应用于子树,包括深度优先和广度优先遍历.
  • levelspecelem 的结构性元素 elem 包括:
  • "Data"子树的数据
    "Children"子树的孩子
    "Subtree"子树自身
    "ChildrenData"孩子的数据
  • 其他元素包括:
  • "OriginalData"子树的原始数据
    "OriginalChildren"子树的原始孩子
    "OriginalSubtree"原始子树
    "OriginalChildrenData"孩子的原始数据
    "Position"子树的位置
    "Index"兄弟列表中的子树的索引
    "LevelPair"子树的非负和负数层级
    "Level"根的子树的非负层级
    "NegativeLevel"叶子的子树的负数层级
  • TreeMap 使用 TreeLevel 中的标准层级规范:
  • n1 层到第 n
    Infinity1 层到 Infinity
    {n}n
    {n1,n2}n1 层到第 n2
    All0 层到 Infinity
    "Leaves"-1
    "NonLeaves"0 层到第 -2
  • TreeMap 中,levelspec 的默认值为 {0,Infinity}.
  • TreeMap 以从左到右、深度优先的顺序遍历子树,孩子先于父母被访问.
  • TreeMap 的选项与 Tree 的选项相同,但还多一条:
  • TreeTraversalOrder Automatic以不同的顺序访问子树,例如深度优先和广度优先遍历
  • TreeMap[f][tree] 等价于 TreeMap[f,tree].

范例

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

基本范例  (5)

f 映射在树的数据处:

f 映射于指定的层:

f 映射在树的子树上:

提供位置作为附加参数:

使用 TreeMap 的算符形式:

范围  (12)

层级规范  (5)

在所有层级上映射(默认):

在层 12 上映射:

仅在层2 上映射:

在层 02 上映射:

在所有层级上映射,从层 1 开始:

也在层 0 上映射:

负层:

正负层级可以混合:

在叶子上映射:

在非叶子上映射:

元素  (7)

在数据上映射(默认):

在原始数据上映射:

在子树上映射:

在原始子树上映射:

映射孩子:

映射原始的孩子:

映射孩子的数据:

映射孩子的原始数据:

提供位置作为附加参数:

提供索引,而不是位置:

提供层级指定作为附加参数:

提供层级,而不是层级指定:

提供负的层级,而不是层级指定:

提供元素序列作为参数:

选项  (3)

TreeTraversalOrder  (3)

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

指定一个自上而下、从右到左的变体:

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

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

属性和关系  (6)

子级在父级之前被访问:

TreeScanTreeMap 相同,但不返回结果:

TreeMap[f,tree,levelspec] 等价于 TreeMapAt[f,tree,TreeLevel[levelspec]]

根据表达式的标头构造一棵树:

TreeMap 映射树中子树的数据:

这对应于在表达式的标头和叶子上映射:

Map 可以直接映射到在标头和叶子上:

从表达式中的原子构造一棵树:

TreeMap 可以只映射树中叶子的数据:

这对应于映射在表达式的原子上:

Map 可以直接映射在表达式的原子上:

TreeFold 将函数应用于孩子的数据和结果:

TreeMap 可算出同样的结果:

根的新数据是 TreeFold 的结果:

可能存在的问题  (1)

TreeMap 默认情况下从第 1 层开始,因此不会将该函数应用于整个树:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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