0

When I was in school, we had an assignment of implementing a 2-3 tree. I did so and built the following 2-3 tree https://github.com/awm086/2-3-tree/blob/master/2_3_tree.cpp.

Now that I am looking back and trying to refresh my c++ knowledge, I could not help but wonder, how could I use this data structure in a real life example. I would like to be able to write a program that could utilize this data structure. So I guess I am asking for a real life example (simple enough that I can implement) that uses a tree data structure?

4

4 に答える 4

2

ウィキペディアの 2-3 Trees ページから、

2 ~ 3 ツリーは AA ツリーの等長図であり、同等のデータ構造であることを意味します。つまり、2 ~ 3 ツリーごとに、同じ順序のデータ要素を持つ AA ツリーが少なくとも 1 つ存在します。

および (AA Trees から)

コンピューター サイエンスにおける AA ツリーは、順序付けられたデータを効率的に格納および取得するために使用されるバランス ツリーの形式です。

そして最後に、

AA ツリーのパフォーマンスは、赤黒ツリーのパフォーマンスと同等です。AA ツリーは赤黒ツリーよりも多くのローテーションを行いますが、単純なアルゴリズムはより高速になる傾向があり、これらすべてのバランスが取れて同様のパフォーマンスが得られます。赤黒ツリーは、AA ツリーよりもパフォーマンスの一貫性が高くなりますが、AA ツリーはフラットになる傾向があり、その結果、検索時間がわずかに速くなります。

于 2012-10-12T15:38:30.883 に答える
2

たとえば、ツリーはstd::mapなどの連想コンテナで使用されます。これは、ルックアップ、挿入、および削除が非常に高速であるためです。

于 2012-10-12T15:33:50.310 に答える
1

なぜツリーを使用するのか、またはなぜ 2-3 ツリーを使用するのか?

ツリーを使用すると、新しいデータを追加するときに (あまり) 並べ替えずに、順序付けられたデータ セットを格納できます。

アンバランスにならないように2~3本の木を最適化

于 2012-10-12T15:37:16.470 に答える
0

ツリー データ構造は多くの場所で非常に使用されており、次のように実行できます。

  • Data base designing

いくつかの値に基づいてデータを保存するためだけに独自のデータベースを作成できます。BST(バイナリ検索ツリー)を想定してから、値を小さくしたり大きくしたりして、これらの値に基づいてツリーノードにデータを保存できます。

  • Creating file system

木が多く使われているエリアですので、ぜひお試しください。

于 2012-10-12T15:40:37.220 に答える