Bツリー挿入プロセスの概要

Bツリー挿入プロセスの概要

前回の記事 https://www.jb51.net/article/154153.htm では、B ツリーの特性を紹介しました。この記事では、B ツリーの挿入プロセスを紹介します。

挿入プロセスとツリー構築プロセスは本質的に同じです。つまり、どちらも挿入操作を実行し、挿入後に B ツリーを調整します。

B ツリーの次数を 5 に設定します。キーシーケンス {1,2,6,7,11,4,8,13,10,5,17,9,16,20,3,12,14,18,19,15} を使用して B ツリーを構築します。

ツリーの次数は 5 なので、各ノードには最大 5 つの子ノードがあり、各ノードのキーワードの数は 3 ~ 4 です。

したがって、最初のステップは、1、2、6、7 をノードとして挿入することです。

次に 11 を挿入すると、1、2、6、7、11 が得られます。ノード数が 4 を超えるため、ノードを分割する必要があります。中間のノード 6 を選択し、それを親ノードに昇格すると、次のようになります。

新しく挿入されたノードは常にリーフノードに現れるというルールがあります。次に4、8、13を直接挿入すると、次のようになります。

次に10を挿入します。

右下のノードには 5 つの要素があり、最大数の 4 を超えているため、分割する必要があり、中央のノード 10 は 6 と一緒に昇格されて次の構造を形成します。

次に5、17、9、16を挿入すると次のようになります。

次に20を挿入します。20を挿入した後、右下のノードの要素数は5になり、最大数の4を超えます。したがって、次の構造を形成するには16を増やす必要があります。

次に、3、12、14、18、19 を挿入して次の構造を形成します。

次に 15 を挿入すると、13 がルート ノードに昇格されます。この時点で、ルート ノードには 5 つのノードがあります。次に、ルート ノードの 10 が再び昇格され、次の構造が形成されます。

仕上げる。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Bツリーの特性の紹介
  • MySQL ハッシュインデックスと B ツリーインデックスの違い
  • SQLite における B ツリー実装の詳細の分析
  • ビットマップインデックスとBツリーインデックスのどちらを使用するかを選択する方法
  • BツリーとB+ツリーの使用に基づくデータ検索とデータベースインデックスの詳細な紹介
  • MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明
  • 完全なBツリーアルゴリズムのJava実装コード
  • C言語Bツリーの深い理解
  • Bツリーの削除プロセスの紹介

<<:  Bツリーの特性の紹介

>>:  Vueストレージにはブール値のソリューションが含まれています

推薦する

CSS3のtext-fill-colorプロパティの詳細な説明

text-fill-color とは何を意味しますか?文字通りの意味から言えば、「テキストの塗りつぶ...

Vueトップタグ閲覧履歴の実装

目次ナンセンス実装された機能文章要点ナンセンスデモプレビュー実装された機能デフォルトでホームページが...

子要素の margin-top によって親要素が移動する問題の解決方法

問題の説明今日、ページ スタイルを変更していたときに、子要素にmargin-top設定したのに、子要...

MySQL の int(n) の後の n はどういう意味ですか?

int(1) の長さ 1 は、許可されたストレージ幅を表していないことはすでにご存知かもしれません...

ハードコーディングに別れを告げ、フロントエンドテーブルがインスタンスコードを自動的に計算できるようにします。

序文私のチームが税制モジュールを開発していたとき、計算問題、特にグリッド内の計算を解決するために時間...

Vue ページレンダリングにおけるキーの適用例チュートリアル

導入フロントエンドプロジェクトの開発プロセスでは、el-table によって表示される結果列がコンポ...

K8Sの高度な機能を理解するための記事

目次K8Sの高度な機能高度な機能要約するkubectl サービスの問題のトラブルシューティングK8S...

複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装

現在、Nginx は、Web サービスを提供するために、Windows ベースの IIS と Lin...

HTML ウェブページのメタビューポート属性の説明

HTML メタビューポート属性の説明ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウ...

MySQL が my.cnf を読み込む順序の詳細

目次MySQLがmy.cnfを読み込む順序1. mysql.server の起動方法2. mysql...

vue3のテレポート瞬間移動機能の使い方を詳しく解説

vue3テレポート瞬間移動機能の使用は参考用です。具体的な内容は次のとおりです。テレポートは通常、瞬...

Mysql論理アーキテクチャの詳細な説明

1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...

Nginx ロケーション設定(ロケーションのマッチング順序)の詳細な説明

ロケーションは「位置指定」を意味し、主にさまざまな位置指定のための URI に基づいています。これは...

JavaScript の手ぶれ補正とスロットリングの詳細な説明

目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...

Node.jsを使用してホットリロードページを実装する方法の詳細な説明

序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...