TreePosition

TreePosition[tree,pattern]

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

TreePosition[tree,pattern,levelspec]

levelspec が指定する tree のレベルにあるマッチだけを求める.

TreePosition[tree,pattern,levelspec,n]

求まった最初の n 個のマッチの位置を与える.

TreePosition[pattern]

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

詳細とオプション

  • TreePositionは,Treeオブジェクトの任意のレベル範囲の任意のパターンにマッチするデータの位置をリストにする.マッチする位置のリストは,深さ優先探索や幅優先探索を含むさまざまな順序で与えることができる.
  • TreePosition[tree,pattern]tree のすべての部分木を順に調べて pattern に一致するデータを持つものを見付けようとする.
  • TreePositionは,TreeExtractTreeReplacePartTreeDeleteでの使用にふさわしい形で位置のリストを返す.
  • TreePositionが返す部分指定{}tree 全体を表す.
  • TreePositionTreeLevelにおけるのと同じように標準的なレベル指定を使う.
  • nレベル1からレベル n まで
    Allレベル0からInfinityまで
    Infinityレベル1からInfinityまで
    {n}レベル n のみ
    {n1,n2}レベル n1からレベル n2まで
  • TreePositionにおける levelspec のデフォルト値は{0,Infinity}である.
  • TreePositionは,左から右で深さ優先順に部分木を横断し,辞書式順序の指標リストを返す.
  • TreePosition[,TreeTraversalOrderorder]を使うと,部分木を深さ優先探索や幅優先探索のように異なる順序で訪れることができる.
  • TreePosition[pattern][tree]TreePosition[tree,pattern]に等しい.

例題

すべて開くすべて閉じる

  (4)

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

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

素数の最初の3つの位置を求める:

TreePositionの演算子形を使う:

スコープ  (5)

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

データが奇整数であるレベル1および2の部分木の位置を求める:

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

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

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

オプション  (3)

TreeTraversalOrder  (3)

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

上から下への順を指定する:

以下は位置を辞書順でリストする:

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

以下は位置を正基順序でリストする:

部分木を葉優先順に訪れる.葉から同じレベルにあるノードは次のレベルのノードの前に訪れられる:

アプリケーション  (1)

最もノードがたくさんあるレベルを計算する:

特性と関係  (4)

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

TreeCountTreePositionが与えるマッチする位置の数を与える:

Position[expr,pattern,levelspec,HeadsFalse]TreePosition[ExpressionTree[expr,"Subexpressions"],pattern,levelspec]に等しい:

Position[expr,pattern,levelspec,HeadsTrue]は,正のレベルについてはTreePosition[ExpressionTree[expr,"Subexpressions"],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 Language. 2021. "TreePosition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/TreePosition.html.

APA

Wolfram Language. (2021). TreePosition. Wolfram Language & System Documentation Center. Retrieved from 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 ]}