TreeMap

TreeMap[f,tree]

tree の各部分木のデータに f を適用する.

TreeMap[f,tree,levelspec]

levelspec で指定された tree のレベルの各部分木のデータに f を適用する.

TreeMap[f,tree,levelspecelems]

levelspec で指定されたレベルの部分木の要素 elemsf を適用する.

TreeMap[f]

木に適用可能なTreeMapの演算子形を表す.

詳細とオプション

  • TreeMap を使うと,Treeオブジェクトの任意のレベル範囲の部分木の要素に関数を適用することができる.関数は,深さ優先探索や幅優先探索を含む異なる順序で部分木に適用することができる.
  • 次は,levelspecelem の構造化要素 elem である.
  • "Data"部分木のデータ
    "Children"部分木の子
    "Subtree"部分木それ自体
    "ChildrenData"子のデータ
  • 次は,その他の要素である.
  • "OriginalData"部分木のもとからのデータ
    "OriginalChildren"部分木のもとからの子
    "OriginalSubtree"もとからの部分木
    "OriginalChildrenData"子のもとからのデータ
    "Position"部分木の位置
    "Index"兄弟のリストの中の部分木の指標
    "LevelPair"部分木の非負の葉と負の葉
    "Level"部分木の根から非負のレベル
    "NegativeLevel"部分木の葉から負のレベル
  • TreeMapTreeLevelにおけるのと同じように標準的なレベル指定を使う.
  • nレベル1からレベル n まで
    Infinityレベル1からInfinityまで
    {n}レベル n のみ
    {n1,n2}レベル n1からレベル n2まで
    Allレベル0からInfinityまで
    "Leaves"レベル-1のみ
    "NonLeaves"レベル0 からレベル-2まで
  • TreeMaplevelspec のデフォルト値は{0,Infinity}である.
  • TreeMapは,左から右で深さ優先順に,親の前に子を訪れる形で部分木を横断する.
  • TreeMapには,Treeと同じオプションに以下を加えたものが使える.
  • TreeTraversalOrder Automatic深さ優先横断や幅優先横断のように,異なる順序で部分木を訪れる
  • TreeMap[f][tree]TreeMap[f,tree]に等しい.

例題

すべて開くすべて閉じる

  (5)

木のデータに f をマッピングする:

f を指定されたレベルにマッピングする:

木の部分木に f をマッピングする:

追加引数として位置を与える:

TreeMapを演算子形を使う:

スコープ  (12)

レベル指定  (5)

すべてのレベルにマッピングする(デフォルト):

レベル1からレベル2にマッピングする:

レベル2だけにマッピングする:

レベル0からレベル2にマッピングする:

レベル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 Language. 2021. "TreeMap." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/TreeMap.html.

APA

Wolfram Language. (2021). TreeMap. Wolfram Language & System Documentation Center. Retrieved from 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: 22-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: 22-November-2024 ]}