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

पायथन में ट्री (उपसर्ग ट्री) लागू करें

मान लीजिए कि हमें तीन बुनियादी संचालन जैसे डालने (), खोज (), स्टार्टविथ () विधियों के साथ त्रिकोणीय संरचना बनाना है। हम मान सकते हैं कि सभी इनपुट लोअरकेस अक्षरों में हैं। उदाहरण के लिए, यदि हम फ़ंक्शन को इस प्रकार कहते हैं, तो हम आउटपुट देखेंगे

  • ट्री ट्री =न्यू ट्री ()
  • trie.insert(“apple”)
  • trie.search(“apple”)//यह सच हो जाएगा
  • trie.search("app") // यह झूठी वापसी करेगा
  • trie.startsWith(“app”) // यह सच हो जाएगा
  • trie.insert(“app”)
  • trie.search(“app”)//यह सच हो जाएगा

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

  • शुरुआत में चाइल्ड नाम की एक डिक्शनरी बनाएं।
  • सम्मिलित करने की विधि इस प्रकार होगी -
  • वर्तमान:=बच्चा
  • शब्द के प्रत्येक अक्षर l के लिए −
    • यदि l वर्तमान में मौजूद नहीं है, तो वर्तमान[l] :=नया शब्दकोश
    • वर्तमान:=वर्तमान[l]
  • वर्तमान[#] =1
  • खोज विधि इस प्रकार होगी -
  • वर्तमान:=बच्चा
  • शब्द के प्रत्येक अक्षर l के लिए −
    • यदि l वर्तमान में मौजूद नहीं है, तो झूठी वापसी करें
    • वर्तमान:=वर्तमान[l]
  • सही लौटें अगर करंट[#] =1, अन्यथा गलत हो
  • StarsWith विधि इस प्रकार होगी -
  • वर्तमान:=बच्चा
  • शब्द के प्रत्येक अक्षर l के लिए −
    • यदि l वर्तमान में मौजूद नहीं है, तो झूठी वापसी करें
    • वर्तमान:=वर्तमान[l]
  • सही लौटें

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

उदाहरण

class Trie(object):
   def __init__(self):
      self.child = {}
   def insert(self, word):
      current = self.child
      for l in word:
         if l not in current:
            current[l] = {}
         current = current[l]
      current['#']=1
   def search(self, word):
      current = self.child
      for l in word:
         if l not in current:
            return False
         current = current[l]
      return '#' in current
   def startsWith(self, prefix):
      current = self.child
      for l in prefix:
         if l not in current:
            return False
         current = current[l]
      return True
ob1 = Trie()
ob1.insert("apple")
print(ob1.search("apple"))
print(ob1.search("app"))
print(ob1.startsWith("app"))
ob1.insert("app")
print(ob1.search("app"))

इनपुट

ob1 = Trie()
ob1.insert("apple")
print(ob1.search("apple"))
print(ob1.search("app"))
print(ob1.startsWith("app"))
ob1.insert("app")
print(ob1.search("app"))

आउटपुट

True
False
True
True

  1. पायथन में सममित वृक्ष

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि वृक्ष सममित वृक्ष है या नहीं। एक पेड़ को सममित कहा जाएगा यदि वह वैसा ही है जब हम उसका दर्पण प्रतिबिम्ब लेते हैं। इन दो पेड़ों से, पहला सममित है, लेकिन दूसरा नहीं है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। हम निम्नलिखित चरणों को

  1. पायथन में IsNumber () फ़ंक्शन लागू करें

    इस लेख में, हम कार्यान्वयन isNumber() . के बारे में जानेंगे पायथन 3.x का उपयोग करके विधि। या पहले। यह विधि एक स्ट्रिंग प्रकार को इनपुट के रूप में लेती है और बूलियन को सही या गलत लौटाती है कि दर्ज की गई स्ट्रिंग एक संख्या है या नहीं। ऐसा करने के लिए हम कोशिश और बयान को छोड़कर अपवाद प्रबंधन की मदद ले

  1. रूबी में उपसर्ग पेड़ों को लागू करना और उनका उपयोग करना सीखें

    प्रीफ़िक्स ट्री (जिसे ट्री भी कहा जाता है) एक डेटा संरचना है जो आपको एक शब्द सूची व्यवस्थित करने और एक विशिष्ट उपसर्ग से शुरू होने वाले शब्दों को जल्दी से खोजने में मदद करती है। उदाहरण के लिए, आप अपने शब्दकोश में वे सभी शब्द पा सकते हैं जो ca से शुरू होते हैं, जैसे बिल्ली या केप। इस तस्वीर को देखे