木 (数学)
提供: miniwiki
テンプレート:Infobox graph 数学、特にグラフ理論の分野における木(き、英: tree)とは、連結で閉路を持たない(無向)グラフである。有向グラフについての木(有向木)についても論じられるが、当記事では専ら無向木を扱う。
閉路を持たない(連結であるとは限らない)無向グラフを森(もり、英: forest)という。木は明らかに森である。
なお、閉路を持たない有向グラフは有向非巡回グラフである。有向木は有向非巡回グラフでもあるが、有向非巡回グラフは必ずしも有向木とは限らない。
コンピュータ上での木の扱いについては、木構造 (データ構造) を参照。
特徴づけ
n 個の点からなるグラフ T について次は同値である[1]。
性質
木 T には、以下のような性質がある。
- T の2点を結ぶ T に含まれない辺 e に対して、T + e には e を通るただ一つの閉路があり、この閉路上の任意の辺 f に対して T + e - f は木となる。
- 頂点が2つ以上ある木には少なくとも2個の端末点がある。また、端末点とは次数1の点である。
上の定理から、木には必ず端末点があり、その端末点を除去すると位数の一つ小さい木が得られる。逆に言えば、位数 n の木は、位数 n − 1 の木に一つの新しい点と、これに接続する一本の新しい辺を加えて得られる。
根つき木
あるノードを選んで、それを一番「上」にあると考えると、そのノードを基準として2つのノードに上下の関係を考えることが出来る(すべてのノードの組み合わせについて定義されるとは限らない)。このとき、その一番上のノードを根(ね、英: root)という。根を持つ木を単なる木と区別して根付き木という。
根つき木に関する用語は、それを家系図に見たてたものが多く使われる。
- 点 v1 と v2 が辺で結ばれており、しかも v1 の方が v2 よりも根に近いとき、v1 は v2 の親であるといい、v2 は v1 の子であるという。
- 点 v2 と v3 が共通の親を持つとき、v2 と v3 は兄弟という。
- 根つき木上の2点 v1, v2 に対し、v2 と根を結ぶ経路上に v1 があるとき、v1 は v2 の先祖であるといい、v2 は v1 の子孫であるという。
また根つき木に関する用語として、他に以下のようなものがある。
- 子を持たない点を葉という。
- 各辺の長さを1とするとき、点と根との経路の長さをその点の高さという。また、根から最も経路の長さが長くなる点までの長さを、その木の高さという。
n を自然数とする。葉ではない各点に対しその点の子の数が常に n であるような木をn分木(nぶんぎ; n-ary tree)という。特に二分木はいくつかのアルゴリズムと密接に関わるデータ構造である。
脚注
- ↑ ウィルソン 2007, p. 60.
参考文献
- R. J. ウィルソン 『グラフ理論』原書第4版、西関隆夫・西関裕子、近代科学社、2007年。ISBN 978-4-7649-0296-1。