- 締切済み
木構造の最底辺にあるノード?
表題から、 (htmlでの質問ではないのですが…) 例えば「xhtml」文書の中に「<em>強調</em>」とある場合、 ・「em」要素の内容 ・「em」要素の全体 どちらが最底辺(葉ノード)なのでしょうか? 木構造内の全てのノードは、 そのノードを頂点とする部分木の根ノードと見なすことができる。 http://ja.wikipedia.org/wiki/%E6%9C%A8%E6%A7%8B%E9%80%A0_(%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0) から引用。 と書いてあるのですが、私には、(上の例えを使うと) 「em」を頂点とする部分木の下方に最底辺「強調」がある。 と読めます(なので、要素の内容が葉ノード?)。 「<p>開始<em>強調</em>終了</p>」とある場合、 開始(葉ノード)と、 「em」要素(部分木の根ノード)は、 兄弟? …よろしくお願いします…
- juri_a
- お礼率50% (2/4)
- XML
- 回答数1
- ありがとう数12
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- OKbokuzyo
- ベストアンサー率43% (130/296)
質問者様の理解で正しいと思います。 xmlに限った質問ではないでしょうが、 xmlではテキスト値も「テキストノード」というノードの種類に分類されます。 従って、 > 例えば「xhtml」文書の中に「<em>強調</em>」とある場合、 これは「em」要素の内容が葉ノードと言えます。 同様に > 「<p>開始<em>強調</em>終了</p>」とある場合、 > 開始(葉ノード)と、 > 「em」要素(部分木の根ノード)は、 > 兄弟? 「開始」ノードと兄弟であるノードは 「em」ノード、「終了」ノードと言えます。
関連するQ&A
- 木構造のデータ処理・検索に関する質問
情報処理のデータ構造にツリー構造というものがあります。 1つのノードから複数のノードが派生して出ており、一番最初を親として子・孫という言い方をしたり、根(一番上とか下)から始まって葉に向かう階層構造のようなものですね。情報処理の専門家はおなじみだろうと思います。 そのようなツリー構造の1つの例として四分木構造というものがあり、カーペットを4つ切りにして細かく見ていくような感じです。以下に説明サイトがあります。1つ1つのカーペットをノードと称するようです。 https://ja.wikipedia.org/wiki/%E5%9B%9B%E5%88%86%E6%9C%A8 カーペットという平面を4つ切り(小さなカーペット)にするので階層が深まる(何回も4分の1にする)につれて部分的に分解能が上がるという利点があります。 この四分木構造について以下のような質問があります。 1.添付図なのですが、最終的に使用する格子は葉(これ以上分岐しない)となります。 この場合、その葉格子が別のどの葉格子と境界を接しているか抽出するアルゴリズムとしてどのようなものがあるでしょうか。 2.分木構造は細分化している処理は足しこんでいくだけなので与しやすしですが、その逆つまり、分木構造をやめて4つ切りから1つに統合する場合、どのようなアルゴリズムになるでしょうか。ノードが消えていくのですが、ノード番号などの割り振りは変えず、全体番号として歯が抜けたようになっていくのでしょうか。 要は分木が増えたり減ったりすることをダイナミックに処理する方法なのですが。 フォートランでできないかなと思っています。Cの再帰呼び出し、ポインタで処理するのが普通らしいですが、ループと配列でフォートランでもできるとのことでした。 よろしくお願いします。
- 締切済み
- C・C++・C#
- アルゴリズム(2分探索木)の問題について
2分探索木のアルゴリズムに関する問題について質問させていただきます。 [問題] 集合Sに対する2文探索木とは、ラベルつきの2分木で、 その頂点vにはSのある要素l(v)がラベルとしてつけられている。 l(v)は次の性質を満たす。 1.vの左部分木の頂点uに対して l(u) < l(v) 2.vの右部分木の頂点uに対して l(u) > l(v) 3.Sの任意の要素aに対して l(v) = a となる頂点vはちょうどひとつある。 図はキーワード集合{begin,else,end,if,then}をあらわす2分探索木の例である。 いま、集合Sを表す2分探索木と要素aが与えられているときa∈Sならば"はい"、 そうでなければ"いいえ"を出力するアルゴリズムを考える。 このアルゴリズムは、木の根rについて一回だけ再帰手続きSEARCH(a,r)を呼び出せばよい。 ただし、SEARCH(a,v)はvを根とする部分木中に要素aが含まれているかを判定する。 含まれているときに値"はい"を、そうでなければ値"いいえ"を返す。 ・アルゴリズム procedure SEARCH(a,v): if a = l(v) then return "はい" else if a < l(v) then if vが左の子wを持つ then return SEARCH( ア ) else return "いいえ" else イ 以下の問題に答えよ。 (1) 上のアルゴリズムのア,イを埋めよ。 (2) 上のアルゴリズムを参考にして、集合Sからのデータの削除DELETE(a,S)を考える。 削除すべき要素aが頂点vのラベルであったとする。そのとき次の3つの場合について、行うべき操作を記述せよ。 (i) 頂点vが葉である (ii) 頂点vの子が1個ある (iii) 頂点vの子が2個ある 以上です。 設問(1)は解けました。 答えは ア: a,w イ: a > l(v) then if vが右の子wを持つ then return SEARCH(a,w) else return "いいえ" になるのではないかと思います。 設問(2)についてなのですが、それぞれの場合について、どのような操作をすればよいのかは、 参考書などを読んで理解したのですが、どのように記述したらよいかがわかりません。 長文になってしまい申し訳ないのですが、回答よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- B木とR木の違いを教えて下さい
当方、今年情報系の学科に入学しました大学1回生です。 大学のレポートで 問:B木とR木のキー、及び探索方法の違いを調べよ。 という問題が出題されたのですが R木というものに関する資料が少なくて困っています。 今、自分で調べた結果 探索方法に関しては ・B木 根から始めて探索キーの値とノードのキーを比較しながら 部分木をたどっていく。 葉に到達したときのに葉のキーの値と探索キーが等しければ成功、 等しくなければ失敗。 ・R木 点質問で探索キー(?)を含むMBRを探索 範囲質問 というのが違いかなと思うのですが、上手く1つの文章で表現できません。 (R木の探索方法についてはイマイチ理解できない) またキーに関する違いと言うのもイマイチよく分かりません。 違いを教えていただけると嬉しいです。 また、どなたかR木に関する詳しい解説のあるHPか書籍をご存知ではないでしょうか? 宜しく御願い致します。
- 締切済み
- その他([技術者向] コンピューター)
- 【C#】TreeViewでクリックした親ノードと、子ノードを表示させた
【C#】TreeViewでクリックした親ノードと、子ノードを表示させたい C#初心者です。 TreeView(treeView1)で親ノードをクリックしたら、その親ノード+子ノードを、別のTreeView画面(treeView2)に表示させたいのですが、やり方がわかりません。 例えば、 +A -B -C +D -E というTreeViewの場合、Aの親ノードをクリックしたら、Aの親ノードと、BとCの子ノードが、別画面(treeView2)に表示されるようにしたいです。 どなたか分かる方いらっしゃいましたら教えていただけると幸いです。 宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- ルート要素ノードが2個ある場合?
xmlからxmlへの変換時に出るエラーについての質問です。 元データとなるxmlが下のような構造をしています。 ルート要素の要素ノードが2つあるものです。 <A1> <B1>aaa</B1> <B2> <C1>bbb</C1> </B2> </A1> <A2>ccc</A2> これをxsltで違う形のxmlに変換するのですが、変換中にエラーが出てしまいます。 (使用しているのはApache xalanです) 現在は元データに、<root>ノードを最上位に加えることにより、変換しているのですが、他の方法で対処できないでしょうか? よろしくお願いいたします。
- ベストアンサー
- XML
- ゲーム木探索について教えてください。
次のような問題が出たのですが、解けなくて困っています。 「ゲーム木の深さ(根から葉までの最大距離)がh、葉以外の状態の子の数が常に2個であるとしたとき、ゲーム木の状態数とhにはどのような関係がありますか。子の数が葉を除いて常にb個であるとしたらどうでしょう。」 どなたか助けてください。 また、このような問題を解くのには、どのような本を参考にしたらよいのでしょうか?教えてください。
- ベストアンサー
- その他(学問・教育)
- 植木 もみじの木
植木 もみじの木に先日アリが沢山いたので殺虫剤キクイムシ退治にアリアトールAタケダ園芸KKの物を散布しました 1週間後位から葉が一部赤くなり引っ張ると葉が簡単に落ちてしまいます 葉が青いところは直ぐに落ちません しかし、だんだん赤いところが増えてきます 原因は根に近いところから木の皮にアリが入り込んでいたので、それを退治した殺虫剤だと思われます 対策の方法を教えて下さい
- ベストアンサー
- 園芸・ガーデニング・観葉植物
- 2分木の配列
次の表の2分木を配列で表現したものである、2分木の図示について教えてください。 (配列の説明) ・数値は説(ノード)の値である。 ・ポインタ1欄は左の子(左部分木)の添付を表し、値が0のときは左の子が存在しないことを意味する。ポインタ2欄は右の子(右部分木)の添付を表し、値が0の時は右の子が存在しないことを意味する。 ・木の根は値Aである 添字 値 ポインタ1 ポインタ2 1 A 2 3 2 B 0 4 3 C 5 0 4 D 0 0 5 E 6 7 6 F 0 0 7 G 0 0
- ベストアンサー
- その他([技術者向] コンピューター)
補足
追加の質問かもしれませんが… 葉ノードは、 ・「空要素」 ・「文字列(内容に要素が含まれてない内容という意味で)」 でしょうか? それ以外にも、あるのでしょうか?