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つの横方向の方法があります。
主な違い
- Bツリーはソートされたツリーであり、ノードは順方向のトラバーサルでソートされますが、バイナリツリーは各ノードにポインターを持つ順序ツリーです。
- Bツリーコードはディスクに保存されますが、バイナリツリーコードはRAMに保存されます。
- Bツリーの高さはlogNになり、バイナリツリーの高さはlogになります2 N
- DBMSはBツリーのアプリケーションですが、ハフマンコーディングはバイナリツリーのアプリケーションです。
結論
上記のこの記事では、Bツリーとバイナリツリーの明確な違いと実装を確認します。