アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」

Slides:



Advertisements
Similar presentations
データ構造とプログラミング技 法 (第3回) ー木構造ー. 木構造 (1) 根( root )と呼ばれる節 R が、 1 つだけ含まれ る。 R … TmTm T1T1 木構造: 1 個以上の節の有限集合 T であり、 次の二つの条件を満足するもの (2) 根以外の節は、 m (≧ 0 )個の互いに素な部.
Advertisements

卒業研究発表 2色木 (Red-Black Tree)
基本情報技術概論 I 演習(第5回) 埼玉大学 理工学研究科 堀山 貴史
正規表現からのDFA直接構成.
2 分探索木 Binary Search Tree 実行可能な操作 計算量 木の高さは,最悪 O(n) n = |A| : 要素の個数
第10回 整列 ~ バブルソート,挿入ソート,選択ソート~
2分探索.
アルゴリズムとデータ構造 2013年6月18日
アルゴリズムとデータ構造1 2005年7月8日
アルゴリズムとデータ構造 2010年7月5日
第8講: 平成19年11月9日 (金) 4限 E252教室 探索アルゴリズム(1).
On the Enumeration of Colored Trees
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
アルゴリズムとデータ構造 2012年6月14日
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
2009/11/20 探索アルゴリズム(2) 第8講: 平成21年11月20日 (金) 4限 E252教室 コンピュータアルゴリズム.
探索アルゴリズム (1) 第7講: 平成21年11月13日 (金) 4限 E252教室.
アルゴリズムとデータ構造 補足資料4-2 「線形探索」
アルゴリズムとデータ構造 補足資料6-3 「サンプルプログラムcat3.c」
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
アルゴリズムとデータ構造 補足資料10-2 「nクイーン」
アルゴリズムとデータ構造 2011年6月14日
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
アルゴリズムとデータ構造 第7回探索のためのデータ構造(1) 2015/11/18 アルゴリズムとデータ構造 2015.
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
2009/10/16 いろいろなデータ構造 第3講: 平成21年10月16日 (金) 4限 E252教室 コンピュータアルゴリズム.
Cプログラミング演習 中間まとめ2.
アルゴリズムとデータ構造1 2006年7月4日
木の走査.
アルゴリズムとデータ構造 補足資料11-1 「mallocとfree」
アルゴリズムとデータ構造勉強会 B+tree.
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
アルゴリズムとデータ構造 補足資料10-1 「騎士巡回」
アルゴリズムとデータ構造勉強会 第6回 スレッド木
アルゴリズムとデータ構造 補足資料14-2 「ダイレクトチェイニング法」
アルゴリズムとデータ構造 補足資料4-1 「メモリと配列」
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」
二分探索木における要素削除 データ構造とプログラミング(10)
データ構造とアルゴリズム (第3回) ー木構造ー.
第9回 優先度つき待ち行列,ヒープ,二分探索木
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
データ構造と アルゴリズム 第六回 知能情報学部 新田直也.
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
Cプログラミング演習 第10回 二分探索木.
アルゴリズムとデータ構造 2010年7月26日
プログラミング 4 木構造とヒープ.
15.cons と種々のデータ構造.
情報数理Ⅱ 第11章 データ構造 平成29年1月18日.
AVL木.
第9回 優先度つき待ち行列,ヒープ,二分探索木
アルゴリズムとデータ構造1 2008年7月24日
アルゴリズムとデータ構造 2011年6月16日
算法数理工学 第4回 定兼 邦彦.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造1 2009年7月2日
アルゴリズムとデータ構造 補足資料11-3 「線形リストのオペレータ」
アルゴリズムとデータ構造 補足資料9-1 「ハノイの塔」
平面走査法を使った 一般線分の 交点列挙アルゴリズム
アルゴリズムとデータ構造 2013年6月20日
アルゴリズムとデータ構造 補足資料7-1 「メモリでの『構造体の配列』」
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
アルゴリズムとデータ構造 補足資料5-3 「サンプルプログラムstrcat.c」
7.木構造 7-1.データ構造としての木 7-2.2分探索木 7-3.高度な木.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志

探索木のオペレータ(ダイジェスト) 探索木を探索する 探索木に節点を追加(挿入)する 探索木から節点を削除する 端点(葉:leaf)の削除 一つの子孫しか持たない節点の削除 二つの子孫を持つ接点の削除

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5}

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 NULL NULL

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 NULL 2 NULL NULL

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 NULL NULL NULL NULL

探索木の成長 {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 root NULL NULL NULL

探索木の成長 {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 root NULL NULL NULL

探索木の成長 {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 8 root NULL NULL NULL

探索木の成長 {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 8 10 root NULL NULL

探索木の成長 {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 8 10 4 root NULL NULL

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 8 10 NULL NULL NULL NULL NULL NULL NULL 4 NULL 3 NULL NULL

探索木の成長 root {7, 2, 9, 1, 6, 8, 10, 4, 3, 5} 7 2 9 1 6 8 10 NULL NULL NULL NULL NULL NULL NULL 4 3 5 NULL NULL NULL NULL

探索木の枝刈り delete( 8, root ) 端点、または、 一つの子孫しか持たない接点の削除 7 2 9 1 6 8 10 4 3 NULL 1 6 8 10 NULL NULL NULL NULL NULL NULL NULL 4 3 5 NULL NULL NULL NULL

探索木の枝刈り delete( 7, root ) 二つの子孫を持つ接点の削除 左部分木の 最右要素で 置き換え 7 2 9 1 6 10 NULL 1 6 10 NULL NULL NULL NULL NULL 4 3 5 NULL NULL NULL NULL

探索木の枝刈り delete( 7, root ) 二つの子孫を持つ接点の削除 左部分木の 最右要素で 置き換え 6 2 9 1 6 10 値をコピー 2 9 NULL 1 6 10 NULL NULL NULL NULL NULL 左部分木の 最右要素 4 3 5 NULL NULL NULL NULL

探索木の枝刈り delete( 7, root ) 二つの子孫を持つ接点の削除 左部分木の 最右要素で 置き換え 6 2 9 1 6 10 NULL 1 6 10 NULL NULL NULL NULL NULL 左部分木の 最右要素→削除 4 3 5 NULL NULL NULL NULL

探索木の枝刈り 6 2 9 1 10 4 3 5 root NULL NULL NULL NULL NULL NULL NULL NULL

探索木の成長 7 を追加 6 2 9 1 10 4 3 5 root NULL NULL NULL NULL NULL NULL NULL

探索木の成長 7 を追加 6 動的データ構造: 追加や削除が生じても、 構造を変えながらデータを 保持できる 2 9 1 7 10 4 3 root 7 を追加 6 動的データ構造:  追加や削除が生じても、  構造を変えながらデータを  保持できる 2 9 1 7 10 NULL NULL NULL NULL NULL NULL 4 3 5 NULL NULL NULL NULL