Bir ikili ağaç kanıtlanması en fazla sahip


14

Ben ispat etmeye çalışıyorum ikili ağaç ile düğümler en fazla sahip nnyaprak. Bunu tümevarım ile nasıl yapabilirim?n2

Yığınlar hakkındaki orijinal soruyu takip eden insanlar için buraya taşındı .


3
İlk olarak, burada LaTeX'i kullanabileceğimizi unutmayın. Nasıl yaptığımı görmek için "düzenle" yi tıklayın. İkincisi, bir indüksiyon görmüyorum. Oraya bazı sayılar atıyorsunuz ama kanıt yapısı ve yığınlarla hiçbir ilişkisi yok. Geliştirebilir misin? Ve son olarak, iddia yanlış: sıralı bir liste heap özelliğini yerine getirir ve sadece bir yaprağa sahiptir. Bazı varsayımlar bıraktınız mı?
Raphael

@ Kaveh aklınızdakileri düzenliyor mu, yani "en fazla" mı?
Raphael

@ Raphael, soruyu tekrar okurken, her iç düğümün tam olarak iki çocuğu olduğu yığınlar hakkında olabileceğini düşünüyorum (bu durumda orijinal soru mantıklı ve iddia doğru veya benzer bir şey).
Kaveh

1
@Kaveh Ah evet, karışıklığınızı görüyorum. Yığın düğümlerinin en fazla iki çocuğu vardır (dolayısıyla ikili ağaç etiketi)
varatis

1
Anlıyorum. Kesin olarak formüle edilen istemle, gerçekten başka varsayımlara gerek yoktur. Özellik aslında tüm ikili ağaçlar için geçerlidir.
Raphael

Yanıtlar:


7

Şimdi sorunun şu olduğunu varsayıyorum:

İle ikili ağaç Verilen düğümler, en az içerdiğini kanıtlamakn yaprak.n2

Bizim ağaç tanımı çalışma izin . İçin , T gibi bir ağaç, izin n yine T düğümlerin sayısı T ve L TTree=EmptyLeafNode(Tree,Tree)TnTTlT yaprak sayısı .T

Bunu indüksiyonla yapmak doğrudur, ancak ağaç yapısını takip eden yapısal indüksiyona ihtiyacınız olacaktır . Ağaçlar için, bu genellikle ağaçların h ( T ) yüksekliği üzerinde tam bir indüksiyon olarak yapılır .h(T)

İndüksiyon çapasının iki kısmı vardır. İlk olarak, için Elimizdeki T = E m p T y ile L T = N , T = 0 ; iddia açıkça boş ağaç için geçerlidir. İçin h ( t ) = 1 , yani , T = L e bir f , biz Benzer sahip l , T = 1 = n Th(t)=0T=EmptylT=nT=0h(t)=1T=Leaf, yani talep yaprakları için de geçerlidir.lT=1=nT2

Tümevarım hipotezi: Talebin h ( T ) k ile tüm (ikili) ağaçları için geçerli olduğunu varsayalım ,Th(T)k rasgele ancak sabit.k1

Endüktif aşama, bir isteğe bağlı ikili ağaç dikkate ile h ( T ) = k + 1 . Olarak k 1 , T = N o d e ( L , R ) ve N , T = N , L + , n R + 1 . Olarak L ve R ikili ağaçlar (aksi da T olmaz) ve h (Th(T)=k+1k1T=Node(L,R)nT=nL+nR+1LRT , tümevarım hipotezi uygulanır veh(L),h(R)k

lLnL2 and lRnR2.

Her yaprak olarak ya olan L ya da R , o varTLR

lT=lL+lRnL2+nR2nL+nR+12()=nT2

İle işaretlenmiş eşitsizlik olup üzerinde (dört yol) durumda ayrım tarafından kontrol edilebilir , n , L , n, R,2 N()nL,nR2N . Tümevarım gücüyle, bu kanıtı sonuçlandırır.


Bir alıştırma olarak, aynı tekniği aşağıdaki ifadeleri kanıtlamak için kullanabilirsiniz:

  • Yükseklik Her mükemmel ikili ağaç sahiptir 2 saat - 1 düğümleri.h2h1
  • Her tam ikili ağacın tek sayıda düğümü vardır.

2

3n=2n=2n/2=1 . Her neyse, kolay bir argüman olan yakın bir şey.

TnLTn1

2n2L+3(nL)
2Ln+2
n3
2Ln+1

Sanırım burada sessizce köklü ağaçlar var; Wikipedia da öyle.
Raphael

1
Vikipedi türden bir şey şöyle diyor: "Ağacın dışında genellikle" kök "düğümüne (varsa tüm düğümlerin atası) bir referans vardır." Her neyse, bu argüman yazmaya değer gibi görünüyor, çünkü farklı ve oldukça kolay.
Louis

Eğer okursanız, tüm kenarlar yönlendirilir, onlar "çocuklar" ve "ebeveynler" den bahsediyorlar. Köklenmemiş ağaçlarda bu mantıklı değil. Sonuç olarak, bir yaprak 0'dan büyük bir düğüm olacaktır.
Raphael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.