TreeCases

TreeCases[tree,pattern]

データが pattern と一致する tree の部分木のリストを与える.

TreeCases[tree,pattern,levelspec]

levelspec で指定されたレベルにあってデータがパターンと一致する tree の全部分木のリストを与える.

TreeCases[tree,pattern,levelspec,n]

データがパターンと一致する tree の最初の n 個の部分木を与える.

TreeCases[pattern]

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

詳細とオプション

  • TreeCasesは,Treeオブジェクトの任意のレベル範囲の任意のパターンにマッチするデータを持つ部分木をリストにする.マッチのリストは深さ優先探索や幅優先探索を含むさまさまな順序で与えることができる.
  • TreeCases[tree,pattern]tree のすべての部分木を交互にテストして pattern にマッチするデータを持つものを求めようとする.
  • TreeCasesTreeLevelにおけるように標準的なレベル指定を使う.
  • nレベル1からレベル n まで
    Allレベル0からInfinityまで
    Infinityレベル1からInfinityまで
    {n}レベル n のみ
    {n1,n2}レベル n1からレベル n2まで
  • TreeCaseslevelspec のデフォルト値は{0,Infinity}である.
  • TreeCasesは,左から右で深さ優先順に,親の前に子を訪れる形で部分木を横断する.
  • TreeCases[,TreeTraversalOrderorder]を使うと,深さ優先探索や幅優先探索のように異なる順序で部分木を訪れることができる.
  • TreeCases[pattern][tree]TreeCases[tree,pattern]に等しい.

例題

すべて開くすべて閉じる

  (4)

データが偶数である部分木を求める:

データが偶数である内側の部分木を求める:

データが素数である最初の3つの部分木を求める:

TreeCasesの演算子形を使う:

スコープ  (6)

データが奇整数である部分木を求める:

データが奇整数であるレベル1と2の部分木を求める:

データが奇整数である葉の部分木を求める:

データが奇整数である内側の部分木を求める:

データが奇整数である最初の4つの部分木を求める:

木の位置指定でTreeCasesの演算子形を使う:

オプション  (3)

TreeTraversalOrder  (3)

デフォルトで,部分木は深さ優先順でリストされ,親は子の後で訪れられる:

上から下で右から左の順を指定する:

部分木を幅優先順でリストする.根から同じレベルにあるノードは次のレベルのノードよりも先に訪れられる:

部分木を葉優先順でリストする.葉から同じレベルにあるノードは次のレベルのノードよりも先に訪れられる:

特性と関係  (5)

TreeCasesTreePositionが与える位置を抽出する:

TreeCountTreeCasesが与えるマッチする部分木の数を与える:

TreeCases[tree,pattern,Infinity]TreeChildren@TreeExtract[tree,TreeCases[pattern]]に等しい:

Cases[expr,pattern,levelspec]TreeData/@TreeCases[ExpressionTree[expr,"Subexpressions"],pattern,levelspec]に等しい:

Cases[expr,pattern,levelspec,HeadsTrue]は,正のレベルについてはTreeData/@TreeCases[ExpressionTree[expr,"Subexpressions",HeadsTrue],pattern,levelspec]に等しい:

考えられる問題  (1)

TreeCasesは,デフォルトで,レベル1から始めるので根は訪れない:

Wolfram Research (2021), TreeCases, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeCases.html (2021年に更新).

テキスト

Wolfram Research (2021), TreeCases, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeCases.html (2021年に更新).

CMS

Wolfram Language. 2021. "TreeCases." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/TreeCases.html.

APA

Wolfram Language. (2021). TreeCases. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TreeCases.html

BibTeX

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

BibLaTeX

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