質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

Q&A

1回答

2402閲覧

B木が汎用的に使われない理由

otaks

総合スコア223

ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

2グッド

0クリップ

投稿2017/05/01 04:01

ハッシュ(辞書)を使うのは見たことがありますが、汎用データ構造としてB木を使用しているのを見たことがありません。

B木は走査も早いと思うのですがなぜ汎用的に使われないのでしょうか?

i50, yohhoy👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

B-treeはデータベースやファイルシステムのインデックスで使用されています。データベースで頻繁に行われる範囲検索等について効率的な検索が可能なためです。

B-treeインデックス入門
SQLアタマアカデミー 第7回 性能改善の鍵,インデックスの特性を知る~B-treeとハッシュ (1)B-tree

一方で単純な等値比較の性能ではハッシュに劣りアルゴリズも複雑なため、データベースのように柔軟な検索が必要とされるのでなければハッシュの方がよいでしょう。

投稿2017/05/01 05:37

編集2017/05/01 05:47
SVC34

総合スコア1149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otaks

2017/09/08 11:40

ご回答ありがとうございます。 柔軟な検索とはどのようなものを指しますでしょうか?
SVC34

2017/09/08 14:49

B-treeのデータは順序性を持っているため、以下のような検索を高速に行うことができます。 ・範囲検索(特定の値より大きな値、小さな値の検索) ・前方一致検索(文字列等で先頭の一部のみ一致するデータの検索) ・最大値や最小値の検索 ・整列済みの検索結果の取得(結果のソート処理が不要)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問