<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E6%9C%A8</id>
	<title>二分探索木 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E6%9C%A8"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E6%9C%A8&amp;action=history"/>
	<updated>2026-06-04T12:13:59Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E6%9C%A8&amp;diff=3549&amp;oldid=prev</id>
		<title>imported&gt;MikeCAT: 作成</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E6%9C%A8&amp;diff=3549&amp;oldid=prev"/>
		<updated>2013-08-24T13:23:07Z</updated>

		<summary type="html">&lt;p&gt;作成&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;二分探索木&amp;#039;&amp;#039;&amp;#039;とは、大小関係を決めることができる[[データ]]の挿入と検索を[[オーダー|O]](log N)でできることを期待した[[データ構造]]である。&lt;br /&gt;
&lt;br /&gt;
[[木|根つき木]]で表され、ある要素の子は必ず2個以下である。また、子に順番の区別がある。&lt;br /&gt;
[[ファイル:Binary_search_tree.png|thumb|right|二分探索木の例]]&lt;br /&gt;
&lt;br /&gt;
==データ操作==&lt;br /&gt;
===挿入===&lt;br /&gt;
# 木の根に注目する。根が無ければ、挿入するデータを根にして終了する。&lt;br /&gt;
# 今注目している要素のデータと挿入するデータを比較する。&lt;br /&gt;
# 挿入するデータが今注目している要素のデータより大きければ右の子へ、小さければ左の子へ注目を移す。&lt;br /&gt;
# 注目しようとした子が無ければ、その位置に挿入するデータを子として置き、終了する。&lt;br /&gt;
# 注目を移したら、2に戻る。以下、繰り返す。&lt;br /&gt;
挿入するデータと今注目している要素のデータが同じだった場合、目的の処理によって、&lt;br /&gt;
挿入するデータを破棄する、注目している要素に関連付けられた値を書き換える([[連想配列]]の場合)、&lt;br /&gt;
あらかじめ左または右に行くと決めておく、などの処理が考えられる。&lt;br /&gt;
&lt;br /&gt;
===検索===&lt;br /&gt;
# 木の根に注目する。根がなければ、見つからなかったとして終了する。&lt;br /&gt;
# 今注目している要素のデータと検索したいデータを比較する。&lt;br /&gt;
# 検索したいデータと今注目している要素のデータが同じなら、見つかったとして終了する。&lt;br /&gt;
# 検索したいデータが今注目している要素のデータより大きいなら右の子へ、小さければ左の子へ注目を移す。&lt;br /&gt;
# 注目しようとした子がなければ、見つからなかったとして終了する。&lt;br /&gt;
# 注目を移したら、2に戻る。以下、繰り返す。&lt;br /&gt;
&lt;br /&gt;
==長所==&lt;br /&gt;
* [[実装]]が比較的単純&lt;br /&gt;
* [[ランダム]]なデータに対しては、ほぼO(log 挿入されたデータ数)で挿入と検索ができる&lt;br /&gt;
&lt;br /&gt;
==短所==&lt;br /&gt;
* [[昇順]]や[[降順]]にデータが挿入されると、挿入や検索にO(挿入されたデータ数^2)かかってしまう&lt;br /&gt;
&lt;br /&gt;
==関連項目==&lt;br /&gt;
* [[平衡二分探索木]]&lt;br /&gt;
* [[ハッシュテーブル]]&lt;br /&gt;
* [[データ構造]]&lt;/div&gt;</summary>
		<author><name>imported&gt;MikeCAT</name></author>
	</entry>
</feed>