Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

जांचें कि क्या कोई सरणी पायथन में बाइनरी सर्च ट्री के इनऑर्डर का प्रतिनिधित्व करती है या नहीं

मान लीजिए कि हमारे पास संख्याओं की एक सरणी है जिसे अंक कहा जाता है। हमें यह जांचना होगा कि सरणी अपने इनऑर्डर ट्रैवर्सल के क्रम में एक बाइनरी सर्च ट्री के तत्वों को धारण कर रही है या नहीं।

इसलिए, यदि इनपुट nums =[5, 8, 15, 18, 20, 26, 39] की तरह है, तो आउटपुट ट्रू होगा क्योंकि यह

का इनऑर्डर ट्रैवर्सल है।

जांचें कि क्या कोई सरणी पायथन में बाइनरी सर्च ट्री के इनऑर्डर का प्रतिनिधित्व करती है या नहीं

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • आकार :=अंकों का आकार
  • यदि आकार या तो 0 या 1 है, तो
    • सही लौटें
  • i के लिए 1 से आकार -1 तक की श्रेणी में, करें
    • यदि अंक [i - 1]> अंक [i], तो
      • झूठी वापसी
  • सही लौटें

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

def solve(nums):
   size = len(nums)
   if size == 0 or size == 1:
      return True
   for i in range(1, size):
      if nums[i - 1] > nums[i]:
         return False
   return True
nums = [5, 8, 15, 18, 20, 26, 39] 
print(solve(nums))

इनपुट

[5, 8, 15, 18, 20, 26, 39]

आउटपुट

True

  1. पायथन में बाइनरी ट्री इनऑर्डर ट्रैवर्सल

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें रिकर्सन का उपयोग किए बिना इनऑर्डर ट्रैवर्सल स्कीम का उपयोग करके इस पेड़ को पार करना होगा। तो अगर पेड़ ऐसा है फिर ट्रैवर्सल होगा [2,5,7,10,15,20] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - दो ऐरे रेस और स्टैक बनाएं, कर्व सेट करें:=रूट एक अनंत

  1. पायथन में एक बाइनरी सर्च ट्री का सबसे कम सामान्य पूर्वज

    मान लीजिए कि हमारे पास एक बाइनरी सर्च ट्री है। हमें दो दिए गए नोड्स के सबसे कम सामान्य पूर्वज नोड्स को खोजना होगा। दो नोड्स p और q का LCA वास्तव में पेड़ में सबसे कम नोड के रूप में होता है जिसमें p और q दोनों डीसेंटेंट होते हैं। तो अगर बाइनरी ट्री [6, 2, 8, 0, 4, 7, 9, नल, नल, 3, 5] जैसा है। पेड़ जै

  1. पाइथन में सॉर्ट किए गए ऐरे को बाइनरी सर्च ट्री में कनवर्ट करें

    मान लीजिए कि हमारे पास एक क्रमबद्ध सरणी ए है। हमें एक ऊंचाई-संतुलित बाइनरी खोज उत्पन्न करनी है। इस समस्या में, एक ऊंचाई-संतुलित बाइनरी ट्री वास्तव में एक बाइनरी ट्री है जिसमें प्रत्येक नोड के दो उपप्रकारों की गहराई कभी भी 1 से अधिक भिन्न नहीं होती है। मान लीजिए कि सरणी [-10, -3, 0, 5, 9 की तरह है। ]