İki ikili arama ağaçları verilmiştir. Örneğin, A ve B Sonra, ben ağaç A'dan ağaç B silmek istendi
silinmesi ile, yani A. Not B içerisinde bulunan tüm düğümleri silin: B ille A. bir alt ağaç değil
Örneğin:
A:
50 / \ 10 75 / / \ 1 60 90
B:
10 / \ 1 75
Ortaya ağacı olmalıdır:
50 \ 60 \ 90
: Iki yaklaşım aklıma gelen
A1:
düğümü * deleteTree (düğüm * A, düğüm * B);
(Normal BSt silme yöntemi ile) ağaç A'dan Bu düğümü sil ağaç B. kökünü alın. Sonraki iki bölüme sorunu bölmek - B sol alt ağaç ve alt ağacı, recurse her biri için B'nin sağ alt ağaç için. Sol alt ağaç için, silindi düğüm işgal Düğüm ağacı A. için root olarak gerektiği sunucu, sağ alt ağaç için ağaç A. için kök olarak silinen düğümün inorder halefi hizmet etmeli
A2: Diğer yaklaşım biraz garip. Ağaç A. inorder ve ön sipariş geçişi bulun ve (biz ön sipariş değiştirmek yok) özyineleme ile birlikte ikili arama kullanarak ağaç B tüm düğümleri silmek bulabilirsiniz. Nihayet (kalan) cihazın gücünü ve ön sipariş (değişmedi) bizim BST recostruct.
Bir prob: BST için verimli bir yol bulun.
Prob B: Herhangi İkili ağacı (sadece BST) için verimli bir yol bulun.













