匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

2分探索木って、どんなところで活用されてますか?

データ構造の中でも、ただの配列やリストなんかはJavaプログラミングでよく見かけますが、2分探索木をプログラムの中で活用しているのを見たことがありません。言語実装とか、そういうところでしょうか?データ構造として、探索が速くなりそうだし、なんとなく使う機会はあるのかなと想像はできるのですが...。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2015/03/11 22:54:15
  • 終了:2015/03/18 22:55:03

回答(2件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2015/03/11 23:08:58

データベースのインデックス。
B-Tree というのが2分探索木。

他1件のコメントを見る
匿名回答1号

枝葉末節。
木なだけに。

2015/03/12 00:29:40
匿名回答3号

>枝葉末節。
だれうまw

2015/03/13 14:17:51
匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2015/03/12 00:14:37

C++ STLのstd::mapなどの実装には平衡2分木が使われていることがあります。JavaのTreeMapも赤黒木ですから2分木の一種ですね。これに限らず、知らないうちに使っていることは多いんじゃないかと思います。

配列やリストに比べてあまり表に出ないのは、色々なバリエーションがあってチューニングの勘どころも多いので、実装の詳細はカプセル化しておく方が何かと便利だからかなあ、という気がします。それと、バランシング操作などは結構ややこしくなることがあり、必要以上に中身を見せるメリットも少ないかと (途中のノードへのポインタを公開していたとしても、バランシングが起きると親や子の関係が変わるので、ライブラリユーザから見たら使いにくい。)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません