BST'de arama yaparken olası arama yollarının sayısı


13

Aşağıdaki sorum var, ama bunun cevabı yok. Benim yöntem doğru olup olmadığını takdir ediyorum:

S. Bir ikili arama ağacında 60 anahtar değerini ararken, 10, 20, 40, 50, 70, 80, 90 anahtar değerlerini içeren düğümler, verilen sırayla değil, çapraz olarak geçilir. Bu anahtar değerlerin, 60 değerini içeren kök düğümden arama yolunda gerçekleşebileceği kaç farklı sipariş mümkündür?

(A) 35 (B) 64 (C) 128 (D) 5040

Sorudan, verilen tüm düğümlerin geçişe dahil edilmesi gerektiğini ve nihayetinde anahtara, 60'a ulaşmamız gerektiğini anlıyorum. Örneğin, böyle bir kombinasyon şöyle olacaktır:

10, 20, 40, 50, 90, 80, 70, 60.

Yukarıda verilen tüm düğümleri geçmemiz gerektiğinden, 10 veya 90 ile başlamalıyız. 20 ile başlarsak, 10'a ulaşmayacağız (60> 20'den beri ve 20'nin sağ alt ağacını geçeceğiz)

Benzer şekilde, 80 ile başlayamayız, çünkü 90'a ulaşamayacağız, 80> 60'dan beri, 80'in sol alt ağacında hareket edeceğiz ve böylece 90'a ulaşamayacağız.

Kalan düğümler 20, 40, 50, 70, 80, 90'dır. Bir sonraki düğüm 20 veya 90 olabilir. Daha önce belirtilen aynı nedenden ötürü başka düğümleri alamayız.

Benzer şekilde düşünürsek, her seviyede iki seçeneğimiz var. 7 düğüm olduğundan, ilk 6 için iki seçenek ve sonuncusu için seçenek yok. Yani tamamen var

22222212664

  1. Bu doğru bir cevap mı?

  2. Değilse, daha iyi yaklaşım nedir?

  3. n2n1

Yanıtlar:


15

KK

KK

10, 20, 30, 40, 50 ve 90, 80, 70 sekansları, alt sekansları bozulmadan olduğu sürece birlikte karıştırılabilir. Böylece 10, 20, 40, 50, 90, 80, 70, ama aynı zamanda 10, 20, 90, 30, 40, 80, 70, 50 olabilir.

Şimdi büyük ve küçük sayıların konumunu seçerek sayıyı hesaplayabiliriz. Aryabhata'nın açıklamasına bakınız. 4 ve 3 sayıdan oluşan iki dizimiz var. Bunları kaç şekilde karıştırabilirim? Son 7 pozisyonda daha büyük sayılar için (ve daha küçük sayılar için kalan 4) 3 konum seçmek zorundayım. Bunları şekilde . Bu pozisyonları sabitledikten sonra tam sırası biliyoruz. Örneğin, ilk örneğim SSSSLLL, ikincisi SSLSLL S.(73)

Bir genelleme istiyorsunuz. Her zaman bulunan sayıdan daha küçük olan sayıları ve daha büyük olan sayıları göreli sıralarına göre sabitlenir. Küçük sayılar yukarı, arger numaraları aşağıya inmelidir. Bu sayı .xy(x+yy)

PS (düzenlenmiş). 30'un söz konusu olmadığını belirten Gilles sayesinde.


Kesinlikle denemek istiyorum. 90,80,70 numaralı birlikte olması gerektiğinden, bunları tek bir hayır olarak kabul edelim. ve 6 yer arasına yerleştirilebilir: _ 10 _ 20 _ 30 _ 40 _ 50 _ Yani bu Aynı benzetme ile, no. [10,20,30,40,50] 4 yer, bu Ama meydana gelen (anlayamıyorum) ortak kombinasyonlara bölünmek zorundadır2624
avi

@avi Hayır, birlikte olmak zorunda değiller, sadece şu sırayla: 10, 20, 90, 30, 40, 80, 70, 50 tamam.
Hendrik Ocak

1
@avi: Şu şekilde düşünmeyi deneyin: Büyük ve Küçük. Şimdi 5 Küçük ve 3 Büyük ile 8 nokta var. Onları nasıl dolduruyorsun? 8 3'ü seçin. Hangisi 56'ya geliyor ve sanırım Hendrik de bunu elde etti.
Aryabhata

2
@HendrikJan Orijinal soruda 30 yoktu, sadece 7 değer vardı. Ve 7 seç 3 (A) 'dır.
Gilles 'SO- kötü olmayı bırak'

1
@HendrikJan - Bunu bana açıklayabilir misin: Her zaman bulunan sayıdan daha az olan sayıları ve daha büyük olan sayıları göreceli olarak sabitlenirxy
avi

1

Hamleleri Metne çevireceğiz. Arama sırasında bu düğümleri geçtik.

resim açıklamasını buraya girin

Kırmızı olanların 60'tan büyük ve mavi olanların 60'tan küçük olduğu görülebilir.

Düğüm 60'a giden yol bu düğümleri içeriyordu. Bu nedenle, sorunun olası çözümlerinden biri . bir düğümde bir seferde coz karşılaştırmada S veya L olarak yol tarifi alabiliriz ve bu düğümlerle karşılaşıldığı için yönlerin bu setten seçildiği anlamına gelir.

{S,S,S,S,L,L,L}

Bu nedenle, olası çözümlerin toplam sayısı = bu setin cevap = seçenek A

7!4!×3!=35
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.