मैं किसी भी एक ट्रेवर्सल (pre
, post
या in-order
), या इनमें से किसी दो के संयोजन से एक Binary Search Tree
निर्माण के बारे में विभिन्न स्थलों पर लेख की एक संख्या से बहुत उलझन में हूँ । उदाहरण के लिए, this पृष्ठ पर, यह कहता है कि pre
, post
या level
ऑर्डर ट्रैवर्सल in-order
ट्रैवर्सल के साथ, कोई BST
बना सकता है। लेकिन here और there, वे हमें को pre-order
से अकेले बनाने के लिए दिखाते हैं। इसके अलावा, here वे हमें pre
और post-order
ट्रैवर्सल से BST
बनाने का तरीका दिखाते हैं। किसी अन्य साइट पर, मुझे post-order
ट्रैवर्सल से BST
बनाने के लिए एक समाधान मिला।कितने traversals एक BST के निर्माण के लिए जाना जाने की जरूरत है
अब मुझे पता है कि inorder
और pre-order
ट्रैवर्सल दिया गया है, यह BST
विशिष्ट रूप से संभव है। के रूप में, पहले लिंक मैं प्रदान की संबंध है, हालांकि वे कहते हैं कि हम pre-order
और post-order
से BST
निर्माण कर सकते हैं नहीं, मैं सिर्फ post-order
सरणी क्रमबद्ध नहीं कर सकते अपनी inorder
ट्रेवर्सल प्राप्त करने के लिए, और उसके बाद का उपयोग करें कि और pre-order
सरणी के लिए फार्म BST
? क्या यह 4 वें लिंक में समाधान के समान होगा, या अलग? और pre-order
केवल दिए गए, मैं इसे in-order
प्राप्त करने के लिए सॉर्ट कर सकता हूं, फिर BST
प्राप्त करने के लिए उस और pre-order
का उपयोग करें। फिर, क्या लिंक 2 और 3 पर समाधान से अलग होना चाहिए?
विशेष रूप से, BST
विशिष्ट रूप से उत्पन्न करने के लिए पर्याप्त क्या है? यदि शिक्चर की आवश्यकता नहीं है, तो मैं इसे आसानी से in-order
ट्रैवर्सल प्राप्त करने के लिए सॉर्ट कर सकता हूं, और इसे संभवतः एन से संभव BST
एस में से एक का निर्माण कर सकता हूं।
तो दूसरे और तीसरे लिंक के समाधान केवल संभावित 'बीएसटी' उत्पन्न करते हैं? – SexyBeast
@ क्यूपिडवोगेल: मैंने वहां कोड का पालन नहीं किया - लेकिन यदि यह सही है तो हाँ। प्रत्येक प्री-ऑर्डर ट्रैवर्सल के लिए केवल एक बीएसटी है। – amit
फिर http://www.geeksforgeeks.org/archives/6633 पर आलेख देखें। वे 'pre' और 'इन-ऑर्डर' ट्रैवर्सल से' BST' बनाते हैं। लेकिन इस बात पर विचार करते हुए कि पेड़ को 'पूर्व-आदेश' अकेले से बनाया जा सकता है, क्या आपको नहीं लगता कि इस कोड में स्थिति खोजने के लिए आवश्यक बाइनरी खोज कम कुशल बनाती है? क्या 'इनऑर्डर' का उपयोग न करने के लिए और अधिक कुशल नहीं होगा, और पेड़ बनाने के लिए बस 'प्री-ऑर्डर' का उपयोग करें? हालांकि, क्या दो समाधान आवश्यक रूप से एक ही पेड़ पैदा करेंगे? – SexyBeast