2010-01-22 20 views
6

Bir süre bir soru üzerine sıkışıp kaldım ve herkes bana doğru yönde işaret edebilir, merak ediyorum:İki mükemmel ikili yığınları birleştirme?

varsayalım ikili yığınları bir dizinin yerine işaretçi tabanlı ağaç gösterimi kullanılarak temsil edilmektedir. RHS ile ikili yığın LHS birleştirme sorunu düşünün. Her iki kümenin, sırasıyla (2^L - 1) ve (2^R-1) düğümleri içeren tam tam ağaç olduğunu varsayalım.
İki yığınları birleştirmek için iki O (log N) algoritması verin, bunlardan biri L = R ve bir ise | L - R | = 1.

Bu bir ev ödevi problemidir, sadece doğru yönde işaret etmem gerekiyor.

+0

LHS ağacının soldan başlaması gerekiyor mu, yoksa bu kolaylık için bir isim mi? – outis

cevap

5

L = R için ipucu: sadece kökünü kaldırmış gibi davran. Daha fazlasına ihtiyacın olursa haberim olsun.

+0

Çok teşekkür ederim! Şimdi anladım! – user220755

+0

Bu iyi bir ipucu. Anlayamadığım şey, profesör. | L-R ile Başlarken | = 1? Bu durumda ipucunuzun sonucu olan algoritmanın da işe yarayacağı anlaşılıyor. – PeterAllenWebb

+1

Dizi tabanlı bir yığının özelliklerini ve algoritmanın işaret ettiği öğenin özelliklerini, bu özelliklerin bazılarını | L-R | = 1 ise nasıl ihlal edeceğini düşünün. Aslında, sadece dizi tabanlı yığınlar değil; şekil özelliği hakkında düşünün. – outis

İlgili konular