TreeScan
TreeScan[f,tree]
tree の各部分木内のデータに適用された f を順に評価する.
TreeScan[f,tree,levelspec]
tree の levelspec によって指定されたレベルにある部分木のデータに f を適用する.
TreeScan[f,tree,levelspecelems]
levelspec によって指定されたレベルにある部分木の要素 elem に f を適用する.
詳細とオプション
- 木のスキャンは木の探索または木の検索としても知られている.部分木は,深さ優先探索や幅優先探索を含むさまざまな順序で訪れることができる.
- 木のスキャンは,通常,部分木に対する操作を実行するために使われる.この部分木に対する操作には割当てを行うというような「副作用」がある.
- TreeScanを使うと関数をTreeオブジェクト内の任意のレベル範囲の部分木の要素に適用することができる.
- TreeScan[f,tree]は f を tree のデータに適用した結果を廃棄する.TreeScanはTreeMapとは異なり新たな木を構築して返すことはしない.
- Throwを使ってTreeScanを終えることができる.
- 次は,levelspecelem の構造化要素 elem である.
-
"Data" 部分木のデータ "Children" 部分木の子 "Subtree" 部分木それ自体 "ChildrenData" 子のデータ - 次はその他の要素である.
-
"OriginalData" 部分木のもとからのデータ "OriginalChildren" 部分木のもとからの子 "OriginalSubtree" もとからの部分木 "OriginalChildrenData" 子のもとからのデータ "Position" 部分木の位置 "Index" 兄弟のリストの中の部分木の指標 "LevelPair" 部分木の非負の葉と負の葉 "Level" 部分木の根からの非負のレベル "NegativeLevel" 部分木の葉からの負のレベル - TreeScanはTreeLevelにおけるのと同じように標準的なレベル指定を使う.
-
n レベル1から n まで Infinity レベル1からInfinityまで {n} レベル n のみ {n1,n2} レベル n1からレベル n2まで All レベル0からInfinityまで "Leaves" レベル-1のみ "NonLeaves" レベル0からレベル-2まで - TreeScanのlevelspec のデフォルト値は{0,Infinity}である.
- TreeScanは部分木を左から右に深さ優先で探索し,親の前に子を訪れる.
- TreeScan[…,TreeTraversalOrderorder]とすると深さ優先探索や幅優先探索等のさまざまな順序で部分木を訪れることができる.
- TreeScan[f][tree]はTreeScan[f,tree]に等しい.
例題
すべて開くすべて閉じる例 (5)
スコープ (12)
レベル指定 (5)
オプション (3)
特性と関係 (4)
考えられる問題 (1)
TreeScanは,デフォルトで,レベル1から始めるので,関数を木全体には適用しない:
Wolfram Research (2021), TreeScan, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeScan.html (2022年に更新).
テキスト
Wolfram Research (2021), TreeScan, Wolfram言語関数, https://reference.wolfram.com/language/ref/TreeScan.html (2022年に更新).
CMS
Wolfram Language. 2021. "TreeScan." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/TreeScan.html.
APA
Wolfram Language. (2021). TreeScan. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TreeScan.html