Bツリーとバイナリツリー

著者: Laura McKinney
作成日: 4 4月 2021
更新日: 25 4月 2024
Anonim
Bツリーチュートリアル-Bツリーの概要
ビデオ: Bツリーチュートリアル-Bツリーの概要

コンテンツ

Bツリーと2進ツリーの違いは、Bツリーはノードが順序通りにソートされるソートされたツリーであるのに対し、バイナリツリーは各ノードにポインターを持つ順序付けられたツリーであるということです。


データ構造はコンピュータープログラミングで最も重要な概念であり、データ構造では、2つの最も重要な概念はBツリーとバイナリツリーです。両方とも互いに異なっています。 Bツリーはソートされたツリーであり、ノードはトラバーサル順にソートされますが、バイナリツリーは各ノードにポインターを持つ順序ツリーです。 Bツリーとバイナリツリーは、非線形データ構造です。名前では、両方の用語は同じように見えますが、異なるため同じではありません。バイナリツリーコードはRAMに保存され、Bツリーコードはディスクに保存されます。

Bツリーはバランスの取れたMウェイツリーであり、Bツリーはバランスソートツリーとして知られています。 Bツリーには順不同のトラバーサルがあります。 Bツリーのスペースの複雑さはO(n)です。挿入および削除の時間の複雑さはO(log n)です。 Bツリーでは、ツリーの高さはできるだけ小さくする必要があります。 Bツリーでは、空のサブツリーはありません。ツリーの葉はすべて同じレベルにある必要があります。各ノードには、最大M個の子と最小M / 2個の子を含めることができます。 Bツリーの各ノードには、子キーよりも少ないキーが必要です。 Bツリーでは、キーの左側にあるサブツリーのキーが先行キーです。ノードがいっぱいになり、新しいノードを挿入しようとすると、ツリーは2つの部分に分割されます。ノードが削除されるまで、Bツリーのノードをマージできます。

バイナリツリーには、子ノードのアドレスを含む2つのポインターがあります。厳密なバイナリツリー、完全なバイナリツリー、拡張バイナリツリーなどのタイプのバイナリツリーがあります。厳密なバイナリツリーでは、左側のサブツリーと右側のサブツリーが必要です。完全なバイナリツリーでは、2つのノードが必要です。各レベル、およびスレッド化されたバイナリツリーでは、0〜2個のノードが必要です。横断的手法について話す場合、3つの横断的手法は、順方向の横断、前順の横断、および後順の横断です。

内容:Bツリーとバイナリツリーの違い

  • 比較表
  • Bツリー
  • 二分木
  • 主な違い
  • 結論
  • 説明ビデオ

比較表

基礎Bツリー二分木
基礎Bツリーは、ノードが順番にトラバーサルでソートされるソートされたツリーです。二分木は、各ノードにポインタを持つ順序付けられた木です。
格納Bツリーコードはディスクに保存されます。バイナリツリーコードはRAMに保存されます
高さBツリーの高さはlog Nになります二分木の高さは対数になります2 N
応用DBMSはBツリーのアプリケーションです。ハフマンコーディングは、バイナリツリーのアプリケーションです。

Bツリー

Bツリーはバランスの取れたMウェイツリーであり、Bツリーはバランスソートツリーとして知られています。 Bツリーには順不同のトラバーサルがあります。 Bツリーのスペースの複雑さはO(n)です。挿入および削除の時間の複雑さはO(log n)です。 Bツリーでは、ツリーの高さはできるだけ小さくする必要があります。


Bツリーでは、空のサブツリーはありません。ツリーの葉はすべて同じレベルにある必要があります。各ノードは、最大M個の子と最小M / 2個の子を持つことができます。 Bツリーの各ノードには、子キーよりも少ないキーが必要です。 Bツリーでは、キーの左側にあるサブツリーのキーが先行キーです。ノードがいっぱいになり、新しいノードを挿入しようとすると、ツリーは2つの部分に分割されます。ノードが削除されるまで、Bツリーのノードをマージできます。

二分木

バイナリツリーには、子ノードのアドレスを含む2つのポインターがあります。厳密な二分木、完全な二分木、拡張二分木などの二分木の種類があります。

厳密なバイナリツリーでは、左のサブツリーと右のサブツリーが必要です。完全なバイナリツリーでは、各レベルに2つのノードがあり、スレッド化されたバイナリツリーでは、0〜2のノードが必要です。横方向のテクニックについて話すと、順方向の横方向、前順の横方向、後順の横方向の3つの横方向の方法があります。

主な違い

  1. Bツリーはソートされたツリーであり、ノードは順方向のトラバーサルでソートされますが、バイナリツリーは各ノードにポインターを持つ順序ツリーです。
  2. Bツリーコードはディスクに保存されますが、バイナリツリーコードはRAMに保存されます。
  3. Bツリーの高さはlogNになり、バイナリツリーの高さはlogになります2 N
  4. DBMSはBツリーのアプリケーションですが、ハフマンコーディングはバイナリツリーのアプリケーションです。

結論

上記のこの記事では、Bツリーとバイナリツリーの明確な違いと実装を確認します。

説明ビデオ