आपका प्रश्न दिए गए BST के लिए संस्थानिक orderings की संख्या की गणना के सवाल के बराबर है।
उदाहरण के लिए, BST के लिए
10
/ \
5 20
\7 | \
15 30
संस्थानिक orderings का समूह इस तरह हाथ से गिना जा सकता है: 10 शुरू होता है हर आदेश। सबट्री 20 के साथ शुरू करने के लिए संस्थानिक orderings की संख्या दो है: (20, 15, 30) और (20, 30, 15)। सबट्री 5 के साथ शुरू में केवल एक ही आदेश है: (5, 7)। इन दोनों अनुक्रम एक मनमाना तरीके से interleaved जा सकता है, 2 एक्स 10 interleavings के लिए अग्रणी है, इस प्रकार बीस आदानों जो एक ही BST उत्पादन का निर्माण किया। पहले 10 मामले (20, 15, 30) के लिए नीचे enumerated हैं:
10 5 7 20 15 30
10 5 20 7 15 30
10 5 20 15 7 30
10 5 20 15 30 7
10 20 5 7 15 30
10 20 5 15 7 30
10 20 5 15 30 7
10 20 15 5 7 30
10 20 15 5 30 7
10 20 15 30 5 7
मामले (20, 30, 15) के अनुरूप है --- आप देख सकते हैं कि निम्नलिखित आदानों में से किसी एक ही BST पैदा करता है।
यह उदाहरण भी orderings की संख्या की गणना करने के लिए एक पुनरावर्ती नियम प्रदान करता है। एक पत्ता के लिए, संख्या 1. एक बच्चे के साथ एक गैर-पत्ती नोड, नंबर बच्चे के लिए संस्थानिक orderings की संख्या के बराबर है के लिए है। एल | साथ सबट्री आकार दो बच्चों के साथ एक गैर पत्ती नोड के लिए | और | R |।, दोनों होने एल और आर orderings, resp, संख्या के बराबर होती है
l x r x INT(|L|, |R|)
एल | कहाँ INT के संभावित interleavings की संख्या है | और | R | तत्वों। यह द्वारा आसानी से गणना की जा सकती (| एल | + | R |)! / (| एल |! X | R |!)। ऊपर के उदाहरण के लिए, हम निम्नलिखित पुनरावर्ती गणना मिलती है:
Ord(15) = 1
Ord(30) = 1
Ord(20) = 1 x 1 x INT(1, 1) = 2 ; INT(1, 1) = 2! / 1 = 2
Ord(7) = 1
Ord(5) = 1
Ord(10) = 1 x 2 x INT(2, 3) = 2 x 5! / (2! x 3!) = 2 x 120 / 12 = 2 x 10 = 20
इस समस्या का हल।
नोट: इस समाधान मान लिया गया BST में सभी नोड्स अलग कुंजी है।