2分探索.

Slides:



Advertisements
Similar presentations
4.3 マージソート.
Advertisements

離散システム特論 整列(sorting)アルゴリズム 2.
2 分探索木 Binary Search Tree 実行可能な操作 計算量 木の高さは,最悪 O(n) n = |A| : 要素の個数
情報生命科学特別講義III (8)木構造の比較: 順序木
アルゴリズムとデータ構造 2013年6月18日
アルゴリズムとデータ構造 2010年7月5日
第8講: 平成19年11月9日 (金) 4限 E252教室 探索アルゴリズム(1).
第11回 整列 ~ バケットソート,基数ソート,ヒープソート~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
2分探索と2分木 ・ 2分探索 ・ ヒープ ・ 2分木.
On the Enumeration of Colored Trees
Problem G : Entangled Tree
2章 データ構造.
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」
アルゴリズムとデータ構造 2012年6月14日
データ構造とアルゴリズム 第7回 木 ~ データ構造(3)~.
情報工学概論 (アルゴリズムとデータ構造)
東京大学大学院情報理工学系研究科 数理情報学専攻 定兼 邦彦 2016年4月7日
2009/11/20 探索アルゴリズム(2) 第8講: 平成21年11月20日 (金) 4限 E252教室 コンピュータアルゴリズム.
探索アルゴリズム (1) 第7講: 平成21年11月13日 (金) 4限 E252教室.
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
エージェントを管理するボスの苦悩 問題 n人のエージェントを部下に持つボスがいる. エージェントは出張・帰還を頻繁に繰り返す.
データ構造と アルゴリズム 第八回 知能情報学部 新田直也.
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
アルゴリズムとデータ構造 2011年6月14日
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
アルゴリズムとデータ構造 第7回探索のためのデータ構造(1) 2015/11/18 アルゴリズムとデータ構造 2015.
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
二分探索木によるサーチ.
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
算法数理工学 第3回 定兼 邦彦.
Cプログラミング演習 中間まとめ2.
“Purely Functional Data Structures” セミナー
アルゴリズムとデータ構造1 2005年7月26日
アルゴリズムとデータ構造1 2006年7月4日
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造1 2005年7月15日
第9回 優先度つき待ち行列,ヒープ,二分探索木
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
A Simple Algorithm for Generating Unordered Rooted Trees
離散数学 07. 木 五島.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
Cプログラミング演習 第10回 二分探索木.
2009/10/23 整列アルゴリズム (1) 第4講: 平成21年10月23日 (金) 4限 E252教室 コンピュータアルゴリズム.
プログラミング 4 木構造とヒープ.
15.cons と種々のデータ構造.
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分の復習
情報数理Ⅱ 第11章 データ構造 平成29年1月18日.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第9回 優先度つき待ち行列,ヒープ,二分探索木
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
アルゴリズムとデータ構造 2012年7月2日
アルゴリズムとデータ構造 2011年6月16日
算法数理工学 第4回 定兼 邦彦.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造1 2009年7月2日
アルゴリズムとデータ構造 2013年7月2日
平面走査法を使った 一般線分の 交点列挙アルゴリズム
ヒープソート.
アルゴリズムとデータ構造 2013年6月20日
新人研修発表 平成13年5月14日(月) 探索アルゴリズム ハッシュ法について 株式会社 エーアイネット・テクノロジ          須田 哲生.
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
7.木構造 7-1.データ構造としての木 7-2.2分探索木 7-3.高度な木.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プログラミング論 バイナリーサーチ 1.
Presentation transcript:

2分探索

データ検索 検索: データの保持状態で検索処理の効率は変わるか? 2つの状態では検索処理の効率の差はどの程度? 与えれたキー(探索キー)と等しいキーを、あるデータ集合の中から探す操作 データの保持状態で検索処理の効率は変わるか? データがでたらめの順番で格納されている状態 データが予めソートされて格納されている状態  2つの状態では検索処理の効率の差はどの程度? 単語がでたらめな順で並んでいる辞書での検索 単語が辞書式順で並んでいる辞書での検索

2分探索法 10を検索 left left right right 1 4 7 10 11 14 18 3 mid mid mid 10を発見

2分探索法 5を検索 left left left right right 1 4 7 10 11 14 18 3 mid mid mid 探索失敗

2分探索木 3 2 8 14 13 5 10 2 3 5 8 10 13 14

2分探索木 8を探索 8 3 2 8 14 13 5 10 8を発見

2分探索木 7を探索 7 3 2 8 14 13 5 10 探索失敗

検索時間は木の高さに比例 バランスの悪い木 O(n) バランスの良い木 O(log n)

挿入(2分探索木) 7を挿入 7 5 3 13 2 8 14 7 10

検索時間の期待値(2分探索木) … … … … 1,2,3,4,5 3,2,4,1,5 全ての順列を考える 1 2 3 4 1 2 計 10 1 1 2 3 4 2 3 1 2 … 2 4 … 3 4 1 5 5 計 10 計 6 Dn = (各計の合計/ n!) = (「深さの合計」の平均) Tn = (Dn÷n) = 「深さの平均」の平均

検索時間の期待値(2分探索木) … … … … … … 1,2,3,4,5 ?,?,?,?,? 3,2,4,1,5 全ての順列を考える 1 1 1 2 3 4 2 3 … … … 3 1 1 ? 2 4 4 5 2 1 5 2 計 10 計 ? 計 6 Dn = (各計の合計/ n!) = (「深さの合計」の平均)は何に対応? Tn = (Dn÷n) = 「深さの平均」の平均は何に対応?

検索時間の期待値(2分探索木) k 根がkの場合を考える 根がkの場合の深さの総和 = (k-1)(1+ Tk-1) + 0 + (n-k)(1+ Tn-k) = (n-1) + (k-1)Tk-1 + (n-k)Tn-k = (n-1) +Dk-1 + Dn-k k kは1~nまで動くのでそれの平均 Dn = ∑1≦k≦n (n-1 +Dk-1 + Dn-k ) /n = n-1 + (2/n)∑1≦k≦n-1 Dk = 2(n+1) (Hn+1-2)+2 (演習問題5.6) ⇒ Tn = O(log n) k-1頂点の木 各頂点の深さ の平均=Tk-1 n-k頂点の木 の平均=Tn-k

削除(内点の子を持たない場合) 4 6 10

削除(内点の子を1つ持つ場合) 9 5 2

削除(内点の子を2つ持つ場合) 2 6 4 10 9 8 7