• 検索結果がありません。

2015. 6. 3

N/A
N/A
Protected

Academic year: 2021

シェア "2015. 6. 3"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

Ibaraki Univ. Dept of Electrical & Electronic Eng.

Keiichi MIYAJIMA

2015. 6. 3

(2)

2

分探索木

(3)

2分探索木

木構造の一種で以下の条件を満たしたもの

各頂点vの左の子はvの値より小さく、右の子は大きい

18

7 22

5 11

8 15

21 31 25

(4)

2分探索木から削除2

2分探索木からの削除について(その2)

下の木から「7」を削除する場合を考える

18

7 22

5 11

8 15

21 31 25

(5)

2分探索木から削除2

2分探索木からの削除について(その2)

下の木から「7」を削除する場合を考える

18

22

5 11

8 15

21 31 25

(6)

2分探索木から削除2

2分探索木からの削除について(その2)

まず、削除したノードの右側を見る。

18

22

5 11

8 15

21 31 25

(7)

2分探索木から削除2

2分探索木からの削除について(その2)

削除したノードの右側の「左の子」が存在するならば、「左の 子」を見る。そうでないならば、削除したノードの右側の子がそ のまま持ち上がる。

18

22

5 11

8 15

21 31 25

(8)

2分探索木から削除2

2分探索木からの削除について(その2)

今見ているノードに「左の子」が存在するならばさらにその「左 の子」を見る。そうでないならば、削除したノードの場所に移動。

18

22

5 11

8 15

21 31 25

(9)

2分探索木から削除2

2分探索木からの削除について(その2)

今移動したノードの部分は削除した場合と同じなので、同様に 今移動したノードの右側を見る。

18

22

5 11

8

15

21 31 25

(10)

2分探索木から削除2

2分探索木からの削除について(その2)

今見ているノードには子供が無いので、そのまま上へ移動。

18

22

5 11

8

15

21 31 25

(11)

2分探索木から削除2

2分探索木からの削除について(その2)

今見ているノードには子供が無いので、そのまま上へ移動。

18

22

5 11

8

15

21 31 25

(12)

本日のまとめ

TCP/IPアプリケーション

2分探索木

2分探索木の定義

2分探索木の探索、挿入、削除

2分探索木の探索、挿入、削除

(13)

本日の課題

1.集合

以下の課題について、プログラムを作成し、プログラムと実行結果 をプリントアウトしたものを提出すること。

2分探索木の表示と印刷は次の関数などを参考にせよ。

2分探索木で表すプログラムを作り、その後作 成した木に23を挿入し、16を削除した後、23が どこにあるか探索し表示するプログラムを作成 せよ。

また、一番最後に、2分探索木全体を表示せよ。

} 25 ,

18 , 95 ,

32 ,

4 , 81 ,

16 , 42 ,

7 , 38 ,

59

= { S

(14)

2分探索木を表示するサンプルプログラム

TCP/IPアプリケーション

void printtree(Node *p, int d) { if (p!=NULL){

d++;

printtree(p->rightson, d);

printf(“%*s%5d¥n”, 3*d,” “,p->data);/* 3d個の空白の後ろに出力*/

printtree(p->leftson, d);

} }

void main(){

int d=0;

printtree(root, d);

}

(15)

教科書のプログラムを利用する際の注意

new(&w);

w->data=x;

w->rightson=NULL;

w->leftson=NULL;

教科書のプログラムを使う場合、コンパイラによって NULLポインタをきちんと設定する必要があります。

例えば、講義で使用しているコンパイラの場合、教科 書のinsert関数内やmain関数の中にあるnew関数を 使用した直後、

このようにNULLの値を代入しないと、コンパイラはで きますが、無限ループにハマって永遠に終わらない プログラムになります。

(この部分を追加)

(16)

レポートの〆切と提出先

レポート提出先:

E2棟(旧システム棟)6F606室(宮島教員室)前 レポートBOX

レポート〆切:

69日火曜日 PM5:00頃

参照

関連したドキュメント

東京都は他の道府県とは値が離れているように見える。相関係数はこう

解析の教科書にある Lagrange の未定乗数法の証明では,

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

例えば、総トン数 499 トン・積載トン数 1600 トン主機関 1471kW(2000PS)の内航貨 物船では、燃料油の加熱に使用される電力は

いてもらう権利﹂に関するものである︒また︑多数意見は本件の争点を歪曲した︒というのは︑第一に︑多数意見は

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計