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

कैसे जांचें कि पेड़ सममित है या सी # में पुनरावृत्त का उपयोग नहीं कर रहा है?

Iterative दृष्टिकोण में हमें 2 कतारें बनानी होती हैं, एक कतार बाएं बच्चे को बचाती है और दूसरी कतार सही बच्चे के मूल्य को बचाती है। यदि पेड़ खाली है, तो यह अपने रूट नोड से गुजरने वाले ऊर्ध्वाधर अक्ष के सममित है। इसके अलावा, जांचें कि क्या दोनों उपप्रकारों के रूट नोड का मान समान है। यदि ऐसा है, तो जांचें कि क्या बायां उपप्रकार और दायां उपप्रकार सममित हैं। क्यू 1 में लेफ्ट चाइल्ड वैल्यू और राइट चाइल्ड वैल्यू को एनक्यू करें और राइट चाइल्ड और लेफ्ट चाइल्ड वैल्यू को क्यू 1 में एनक्यू करें

उदाहरण

public class TreesPgm{
   public class Node{
      public int Value;
      public Node LeftChild;
      public Node RightChild;
      public Node(int value){
         this.Value = value;
      }
      public override String ToString(){
         return "Node=" + Value;
      }
   }
   public bool isSymmetricIterative(Node node){
      if (node == null){
         return true;
      }
      Queue<Node> Q1 = new Queue<Node>);
      Queue<Node> Q2 = new Queue<Node>();
      Q1.Enqueue(node.LeftChild);
      Q2.Enqueue(node.RightChild);
      while (Q1.Count > 0 && Q2.Count > 0){
         Node n1 = Q1.Dequeue();
         Node n2 = Q2.Dequeue();
         if ((n1 == null && n2 != null) || n1 != null && n2 == null){
            return false;
         }
         if (n1 != null){
            if (n1.Value != n2.Value){
               return false;
            }
            Q1.Enqueue(n1.LeftChild);
            Q1.Enqueue(n1.RightChild);
            Q1.Enqueue(n1.RightChild);
            Q1.Enqueue(n1.LeftChild);
         }
      }
      return true;
   }
}

आउटपुट

      1
     2 2
   3 4 4 3
True

  1. पायथन में दिया गया पेड़ सममित पेड़ है या नहीं, यह जांचने के लिए कार्यक्रम

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

  1. कैसे जांचें कि कोई संख्या प्राइम है या पायथन का उपयोग नहीं कर रही है?

    इस समस्या के समाधान में प्रयोग किया जाने वाला सिद्धांत यह है कि दी गई संख्या को उसके वर्गमूल से 3 से विभाजित करना, एक संख्या का वर्गमूल सबसे बड़ा संभावित कारक है जिसके आगे यह जांचना आवश्यक नहीं है कि यह किसी अन्य संख्या से विभाज्य है यह तय करने के लिए कि यह अभाज्य संख्या है। फ़ंक्शन 2 से विभाज्य और

  1. कैसे जांचें कि कोई स्ट्रिंग पालिंड्रोम है या पायथन का उपयोग नहीं कर रहा है?

    पायथन के मानक पुस्तकालय से reveresed() फ़ंक्शन का उपयोग करें। यह उलटी हुई वस्तु लौटाता है जिसे सूची वस्तु में परिवर्तित किया जा सकता है >>> str1='malayalam' >>> l1=list(reversed(str1)) >>> l1 ['m', 'a', 'l', 'a', 'y', 'a&