AVL ağaçları ağırlık dengeli değil midir?


22

Önceki bir soruda , ağırlık dengeli ağaçların tanımı ve kırmızı-siyah ağaçlarla ilgili bir soru vardı.

Bu soru aynı soruyu sormak, ancak AVL ağaçları için .

Soru, diğer sorudaki gibi dengelenmiş ağaçların tanımı göz önüne alındığında ,μ

Yeterince büyük AVL ağaçları dengesiz olacak şekilde bazı mı?μμ>0μ

AVL ağaçlarının yalnızca bir tanımı olduğunu ve belirsizlik olmadığını varsayıyorum.

Yanıtlar:


18

İddia : Hayır, böyle yoktur .μ

İspat : İddiasıyla çelişen, ağırlık dengesi değeri olan eğiliminde, büyümekte olan sonsuz bir AVL ağacı dizisi veriyoruz .0

Let yüksekliği tam ağaç ; sahip olduğu düğümleri. s 2 s + 1 - 1Chh2h+1-1

Let Fibonacci ağacı yüksekliği ; sahip olduğu düğümleri. [ 1 , 2 , TAoCP 3 ] s f s + 2 - 1ShhFh+2-1

Şimdi izin ile bir karşı örnek için İstem ağaçların dizisi. , T h = N ( S h , Cı- sa )(Th)ben1Th=N-(Sh,Ch)

Bazı için kökünün ağırlık dengeleme değerini düşünün : h N +ThhN-+

Fh+22h+1+Fh+2-1=11+2h+1Fh+2-1Fh+2~Fh+22h+1=15(φh+2-φ^h+2)2h+1~φh+252h+1h0

Bu ispat sonucuna varır.

Gösterim :

  • Fn , inci Fibonacci sayısıdırn
  • cp- 0.62φ1.6 , Altın Oran , konjugatı.φ^-0.62
  • f g lim n f ( n )f~g bu araçlar ve , asimptotik olarak eşit, yani .fglimnf(n)g(n)=1

Not : Fibonacci ağaçları, belirli bir yükseklik için (veya eşdeğerde, belirli sayıda düğüm için maksimum yükseklik) en az düğüme sahip olan AVL ağaçlarıdır.

Zeyilname : Onlardan bahseden bir profesöre kulak misafiri olmasaydık, Fibonacci ağaçları ile nasıl karşılaşabiliriz? Peki, mümkün olduğu kadar az düğümü olan yüksekliğinde bir AVL ağacı nasıl görünür? Elbette, bir köke ihtiyacınız var. Alt ağaçlardan birinin yüksekliği ve mümkün olduğunca az sayıda düğüm seçerek seçmeliyiz. Diğeri , yükseklik dengeleme koşulunu ihlal etmeden yüksekliğine sahip olabilir ve mümkün olduğu kadar az düğümle de seçiyoruz. Özünde, istediğimiz ağaçları özyinelemeli inşa ediyoruz! Bunlar ilk dördü:s - 1 s - 2hh-1h-2

İlk dört Fibonacci ağacı
[ kaynak ]

Bu düğüm sayısı için bir nüks ayarlamak yükseklik ile thusly inşa ağacında :hf(h)h

f(1)=1f(2)=2f(h)=f(h-1)+f(h-2)+1n3

Bunu çözmek, yukarıda kullandığımız yol açar .f(h)=Fh+2-1


Aynı kanıt, Nievergelt ve Reingold'un (1972) Sınırlı dengede İkili arama ağaçlarında ( daha az ayrıntıyla) verilmiştir .

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.