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

जावा में एक बाइनरी ट्री के विषम स्तर और सम स्तर के नोड्स के बीच अंतर

समस्या का विवरण

किसी दिए गए बाइनरी ट्री के साथ, विषम स्तर और सम स्तर पर नोड्स के योग के बीच अंतर खोजने के लिए एक प्रोग्राम लिखें। स्तर 1 पर जड़ मान लें, जड़ का बायां/दायां बच्चा स्तर 2 पर और इसी तरह।

उदाहरण

        5
      /   \
      2     6
     /  \     \
    1     4    8
   /    /  \
  3    7    9

Sum of nodes at odd level
= 5 + 1 + 4 + 8
= 18
Sum of nodes at even level
= 2 + 6 + 3 + 7 + 9
= 27
Difference = -9.

समाधान

रिकर्सिव ट्रैवर्सल का प्रयोग करें। ट्रैवर्सल के दौरान, रूट नोड और उसके बाएँ और दाएँ बच्चे का अंतर लौटाएँ।

उदाहरण

आवश्यक आउटपुट खोजने के लिए जावा में प्रोग्राम निम्नलिखित है।

class Node {
   int data;
   Node left, right;
   Node(int data){
      this.data = data;
      this.left = this.right = null;
   }
}
public class JavaTester {
   public static Node getTree(){
      Node root = new Node(5);
      root.left = new Node(2);
      root.right = new Node(6);
      root.left.left = new Node(1);
      root.left.right = new Node(4);
      root.left.right.left = new Node(3);
      root.right.right = new Node(8);
      root.right.right.right = new Node(9);
      root.right.right.left = new Node(7);
      return root;
   }
   public static int difference(Node node){
      if(node == null) return 0;
      return node.data - difference(node.left) - difference(node.right);
   }
   public static void main(String args[]){
      Node tree = getTree();
      System.out.println(difference(tree));
   }
}

आउटपुट

-9

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क

  1. विषम और सम अंकों के योग के बीच अंतर के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन -एक पूर्णांक को देखते हुए, हमें यह गणना करने की आवश्यकता है कि विषम अंकों के योग और सम अंकों के योग के बीच का अंतर 0 है या नहीं। ब्रूट-फोर्स दृष्टिकोण संख्याओं में सभी सम और विषम अंकों के योग की