アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志 探索木のオペレータ(ダイジェスト) • 探索木を探索する • 探索木に節点を追加(挿入)する • 探索木から節点を削除する 1. 端点(葉:leaf)の削除 2. 一つの子孫しか持たない節点の削除 3. 二つの子孫を持つ接点の削除 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 NU LL 2 NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 NU LL 9 NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 NU LL 1 NU LL NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 NU LL 1 NU LL 6 NU LL NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 NU LL 1 NU LL 6 NU LL NU LL 8 NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 NU LL 6 NU LL NU LL 8 NU LL NU LL 10 NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 NU LL 6 NU LL 8 NU LL 4 NU LL NU LL NU LL 10 NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 NU LL 6 NU LL 8 NU LL 4 NU LL 3 NU LL NU LL NU LL 10 NU LL NU LL NU LL 探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 NU LL 6 NU LL 8 NU LL 4 3 NU LL 5 NU LL NU LL NU LL NU LL 10 NU LL NU LL NU LL 探索木の枝刈り root delete( 8, root ) 端点、または、 一つの子孫しか持たない接点の削除 7 2 9 NU LL 1 NU LL 6 NU LL 8 NU LL 4 3 NU LL 5 NU LL NU LL NU LL NU LL 10 NU LL NU LL NU LL 探索木の枝刈り root delete( 7, root ) 二つの子孫を持つ接点の削除 7 左部分木の 最右要素で 置き換え 2 9 NU LL 1 NU LL 6 NU LL 10 NU LL 4 3 NU LL 5 NU LL NU LL NU LL NU LL NU LL 探索木の枝刈り root delete( 7, root ) 二つの子孫を持つ接点の削除 6 左部分木の 最右要素で 置き換え 2 9 NU LL 1 NU LL 6 NU LL 10 NU LL 左部分木の 最右要素 4 3 NU LL 5 NU LL NU LL NU LL NU LL NU LL 探索木の枝刈り root delete( 7, root ) 二つの子孫を持つ接点の削除 6 左部分木の 最右要素で 置き換え 2 9 NU LL 1 NU LL 6 NU LL 10 NU LL 左部分木の 最右要素→削除 4 3 NU LL 5 NU LL NU LL NU LL NU LL NU LL 探索木の枝刈り root 6 2 9 NU LL 1 NU LL 10 NU LL NU LL 4 3 NU LL 5 NU LL NU LL NU LL NU LL 探索木の成長 root 7 を追加 6 2 9 NU LL 1 NU LL 10 NU LL NU LL 4 3 NU LL 5 NU LL NU LL NU LL NU LL 探索木の成長 root 7 を追加 6 動的データ構造: 追加や削除が生じても、 構造を変えながらデータを 保持できる 2 9 1 NU LL 7 NU LL NU LL 4 3 NU LL 5 NU LL NU LL NU LL 10 NU LL NU LL NU LL
© Copyright 2024 ExpyDoc