NestTree

NestTree[f,tree]

tree の各葉に子を加える.f[expr]はデータ expr を持つ葉の新たな子のデータのリストを与える.

NestTree[f,tree,n]

f を各葉のデータにレベル n まで連続的に適用し,各葉に最大で n レベルを加える.

NestTree[f,tree,n,h]

新たな部分木のデータに h を適用する.

NestTree[f,expr,]

データ expr を持つ木の葉の上に f をネストさせることで木を構築する.

詳細とオプション

  • NestTreeは,演算子 f を使って連続的に子のより深いレベルを葉に加えることでTreeオブジェクトを育てる.
  • NestTreeは式から木を構築して木の葉を伸ばすのに役に立つ.
  • ネストしている各新レベルについて,すべての葉Tree[expr,None]Tree[expr,{Tree[expr1,None],}]で置換される.ここで f[expr]{expr1,expr2,}を与える. »
  • NestTree[f,tree,n]n は任意の非負の機械整数またはInfinityでよい. »
  • NestTree[f,tree,n]は最高で n レベルを各葉に加える.fNone{}<||>またはHold[]を返す場合は,その葉にそれ以上のレベルは加えられない. »
  • NestTree[f,tree,n,h]では,最初の葉と中間ステップで生成された葉を含むすべての葉Tree[expr,None]Tree[h[expr],]で置換される. »
  • expr が明示的なTreeオブジェクトではない場合,NestTree[f,expr,]NestTree[f,Tree[expr,None],]に等しい. »
  • f[expr]Hold[expr1,expr2,]を与えるなら,式 expriNestTree[f,tree,n,h]では評価されずに関数 fh に与えられる. »
  • NestTree[f,tree]f[expr]{expr1,expr2,}<|key1expr1,key2expr2,|>Hold[expr1,expr2,]またはNoneを与えなければならない.
  • f{}<||>Hold[]またはNoneを返さない場合は,NestTree[f,tree,]NestTree[List@*f,tree,]に等しい. »
  • NestTree[f,tree,0]tree を与える.NestTree[f,tree,0,h]TreeMap[h,tree,{-1}]に等しい.
  • f[expr]<|key1expr1,key2expr2,|>を与えるならNestTree[f,expr,n]Tree[expr,<|key1tree1,key2tree2,|>]を与える.ここで,treeiNestTree[f,expri,n-1]の結果である. »
  • NestTreeにはTreeと同じオプションが使える.

例題

すべて開くすべて閉じる

  (4)

木の葉を拡張する:

式から木を構築する:

葉に子のレベルを加えることで木を構築する:

子を連想として指定する:

スコープ  (9)

子がない葉を構築する:

子がない葉ではないものを構築する:

葉を加える:

木の葉を伸ばす:

複数のレベルがある木を構築する:

木を伸ばすことに加えて関数をデータに適用する:

追加レベルの数を指定する:

葉が加えられなくなるまで繰り返し演算子を適用する:

中間結果を評価することなしに木を構築する:

子を連想として指定する:

オプション  (9)

個々の木の要素のスタイル付け  (2)

生成された木の要素のラベルを指定する:

位置を使って部分木のラベルとスタイルを指定する:

木全体のスタイル付け  (4)

すべての部分木のラベルとスタイルを指定する:

基本スタイルを指定する:

辺と木の両要素の辺のスタイルを指定する:

基本スタイルと個々の木の要素のスタイルを指定する:

木のレイアウトとグラフィックスオプション  (3)

根の向きを指定する:

名前付きの埋込みを指定する:

Graphicsオプションを指定する:

アプリケーション  (8)

生命の木を作る:

子孫の木を作る:

ディレクトリ内のファイルの階層から木を作る:

線形回帰内の項の木を作る:

線形回帰の項を計算する:

TextElementオブジェクトを木に変換する関数を定義する:

TextElementの子要素を与える関数を定義する:

TextElementから"GrammaticalUnit"を抽出する関数を定義する:

TextElementを木に変換する:

置換の木を作成する:

CalkinWilf木を作成する:

SternBrocot木を作成する:

特性と関係  (12)

NestListは演算子 f を式に連続的に適用した結果のリストを与える:

NestTreeは演算子 f を式に連続的に適用した結果の木を与える:

NestTreeはリストの各要素に連続する演算子を適用する:

NestTree[f,expr,]は式 expr が木ではない場合は expr から始めて木を構築する:

これはNestTree[f,Tree[expr,None],]に等しい:

f{}<||>Hold[]またはNoneを返さない場合は,NestTree[f,tree,]NestTree[List@*f,tree,]に等しい:

NestTree[f,Tree[expr,None],0]Tree[expr,None]を与える:

f[expr]Noneを与えるならNestTree[f,Tree[expr,None]]Tree[expr,None]を与える:

f[expr]{}またはHold[]を与えるならNestTree[f,Tree[expr,None]]Tree[expr,{}]を与える:

たとえ f[expr]{}またはHold[]を与える場合でもこれは真である:

NestTreeは,最大レベルに達するまで,あるいは演算子 fNone{}<||>またはHold[]を返すまで,連続的に f を適用する:

NestTree[f,Tree[expr,None],n,h]は,データ h[expr]と子NestTree[f,Tree[expri,None],n-1,h]を持つ木を返す.ここで,f[expr]{expr1,expr2,}を与える:

NestTree[TreeChildren,Tree[tree,None],Infinity,TreeData]tree に等しい:

NestGraphはグラフの各頂点に演算子を適用する:

NestTreeは木の各葉に演算子を適用する:

NestTreeを使ってCompleteKaryTreeの出力を模倣する:

木を実際のGraphオブジェクトに変換する:

内部の部分木の子1から3の間に0から10までのランダムな整数を含む木を生成する:

RandomTreeを使って特定の大きさのランダムな木を生成する:

考えられる問題  (1)

NestTree[f,tree]は関数を葉のデータに適用する:

木自身に直接関数を適用する場合はTree[tree,None]を使うとよい:

おもしろい例題  (3)

地質時代の下位区分の木を構築する:

シェルピンスキー(Sierpiński)の三角形の第0ステップから第3ステップの三角形を与えるレベルで木を構築する:

この木から第3ステップのシェルピンスキーの三角形を入手する:

カントール(Cantor)集合の第0ステップから第3ステップまでの区間を与えるレベルで木を構築する:

この木からカントール集合の第3ステップを入手する:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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