मैं गैर पुनरावर्ती करने के लिए एक BST के लिए पुनरावर्ती क्रिया परिवर्तित करने में मदद करने के एक साक्षात्कार के लिए तैयार करने की प्रक्रिया में हूँ। अब तक मैं अग्रिम आदेश पता लगा, inorder, क्रंमोत्तर, खोज, हटाने, डालें, और एक परिपत्र लिंक्ड सूची को BST परिवर्तित। मैं मुसीबत पता लगाना कैसे ढेर या कतारों का उपयोग करने के लिए ऊंचाई पाने के लिए और अगर यह एक BST है खोजने के लिए हो रहा है। कोई भी युक्ति सराहनीय होगी। मैं कोड लेकिन कोड के पीछे तर्क के लिए नहीं देख रहा हूँ।
पेड़ ऊंचाई isBST की गैर पुनरावर्ती कार्यान्वयन के लिए स्यूडोकोड
शुरुआत के लिए, बहुत अच्छा काम इस तरह के इंटरव्यू के लिए तैयारी! मुझे आशा है कि आप मज़ा इन एल्गोरिदम के साथ प्रयोग करना हो रही है।
के अगर द्विआधारी पेड़ एक BST है निर्धारित करने के लिए कोशिश कर के कार्य के साथ शुरू करते हैं। ऐसा करने का एक तरीका यह पेड़ की एक inorder की पैदल दूरी पर है और जाँच लें कि तत्वों क्रमबद्ध क्रम में हैं के लिए है। यह सच हो सकता है अगर और पेड़ एक BST है केवल यदि। के बाद से आप पहले से ही पेड़ के तत्वों में से एक inorder की पैदल दूरी पर ऐसा करने के लिए कोड है, तो आप आसानी से जाँच करने के लिए अपने कोड अनुकूलित करने के लिए सक्षम है, तो तत्व है कि inorder की पैदल दूरी से बाहर आने के अंतिम तत्व आप में देखा था का ट्रैक रखने के द्वारा हल कर रहे हैं होना चाहिए inorder की पैदल दूरी पर है, तो पिछले तत्व उत्पन्न प्रत्येक तत्व की तुलना। दो क्रम से बाहर हैं, तो पेड़ एक BST नहीं है।
पेड़ की ऊंचाई निर्धारित करने के लिए, एक ही विकल्प खोजें कि आप अब तक लेकर आए हैं (अग्रिम आदेश, क्रंमोत्तर, inorder) के किसी भी लेने के लिए और प्रत्येक बिंदु पर ढेर की ऊंचाई पर नज़र रखने के लिए होगा। विचार है कि यहाँ के बाद से अपने ढेर हमेशा ट्रैक पथ के पीछे किसी भी नोड से जड़ से ऊपर रखना होगा, तो आप बस पेड़ चलना और गहरी है कि आप कभी देखा ढेर बन रिकॉर्ड कर सकते हैं है। यह अधिकतम गहराई तो पेड़ की ऊंचाई है।
उम्मीद है की यह मदद करेगा! और साक्षात्कार के साथ भाग्य का सबसे अच्छा!
पेड़ की ऊंचाई को खोजने के लिए, आपको मॉरिस ट्रेवर्सल [हे (एन) समय]] इस्तेमाल कर सकते हैं।
अगर यह एक वैध BST है की जाँच करने के लिए, पेड़ की एक inorder की पैदल दूरी पर है। एक सरणी में तत्वों ले जाएँ। यदि सरणी सॉर्ट हो जाता है या एक BST मान्य करने के लिए नहीं की जाँच करें।













