二分木の平均高さについて正式な定義はありますか?
次の2つの方法を使用してバイナリツリーの平均の高さを見つけることに関するチュートリアルの質問があります。
自然な解決策は、ルートからリーフへのすべての可能なパスの平均の長さを取ることです。
。
別のオプションは、再帰的に定義することです。つまり、ノードの平均の高さは、サブツリーの平均の高さの平均に1を加えたものです。つまり、
リーフのためのL及びAVH 2(_ )= 0空きスロット用。
私の現在の理解に基づいて、たとえば木の平均高さ
1
/ \
2 3
/
4
ある再帰を使用している第二の方法で。
しかし、私はまだ最初の1つを行う方法を完全に理解していません。は正しくありません。
1
いくつかのコンテキストを提供できますか?「正しい」数学的定義などはありません。「二分木の平均高さ」は好きなように定義できます。(の平均何以上何分布?)しかし、異なる定義がされます、多かれ少なかれ便利異なるアプリケーションのために。
—
JeffE 2012
@JeffE "バイナリツリーの平均高さを定義する方法はすぐにはわかりません。おそらく最も自然な解決策は、ルートからリーフまでの可能なパスの平均長を持っていることでしょう。より単純な(おそらく単純化した)ソリューションつまり、ノードの平均の高さは、サブツリーの平均の高さの平均に1を加えたものです。この選択肢をコーディングする方が簡単だとわかります。違いを示す例を挙げられますか?」
—
タイムレス
2つのバリアントの正確な定義を提供することで、投稿をより明確にすることを試みました。私があなたのテキストを正しく解釈したことを確認してください。特に、2番目のバリアントのアンカーがありませんでした。葉の高さを1にするか0にするかによって違いが生じます。
—
ラファエル