素結合では、高さがそれぞれ h1 と h2 である 2 つのツリーをマージする必要があるとします。この手法を使用すると、結果のマージされたツリーの高さは、h1 が h2 と等しくない場合は max(h1, h2) になり、h1 == h2 の場合は h1+1 になります。初期状態から始まるマージ操作の任意のシーケンスの後にこの手法を使用すると、「k」個のノードを含むツリーの高さは最大 (logk のフロア) になります。これは帰納法により次のように証明される.
ベース: k=1 の場合、高さは 0. 0<= (floor(log 1))
誘導ステップ: を考えk >1
て、仮説により、 となるすべての m に対して定理が真であるとし1<=m<k
ます。k
ノードを含むツリーは、2 つの小さなサブツリーをマージすることによって取得できます。これらの 2 つの小さなツリーには、一般性を失うことなく想定できる「a」ノードと「b」ノードがそれぞれ含まれているとしa<=b
ます。したがってa>=1
、初期状態から始まるノードが 0 のツリーを取得する方法はなく、k=a+b です。そして、、、 両方、 、、 したがって、 と続きますa<=k/2
b<=k+1
。k>1
k/2 < k
(k-1) < k
a<k
b<k
上記の私の質問は
- 上記の「a<=k/2 and b<=k+1」というステートメントをどのようにして得たのか。
ありがとう!