मैं बाइनरी पेड़ की ऊंचाई की गणना करने के तर्क के बीच कुछ उलझन में हूं।उलझन में - बाइनरी पेड़ की ऊंचाई
कोड 1
public static int findHeight(Tree node) {
if(node == null)
return 0;
else {
return 1+Math.max(findHeight(node.left), findHeight(node.right));
}
}
कोड 2
public static int findHeight(Tree node) {
if(node == null)
return -1;
else {
return 1+Math.max(findHeight(node.left), findHeight(node.right));
}
}
मुझे लगता है, दूसरा एक सही है, क्योंकि यह नीचे दिए गए कोड के लिए सही जवाब देता है: -
Tree t4 = new Tree(4);
Tree t2 = new Tree(2);
Tree t1 = new Tree(1);
Tree t3 = new Tree(3);
Tree t5 = new Tree(5);
t4.left = t2;
t4.right = t5;
t2.left = t1;
t2.right = t3;
// Prints "Height : 2" for Code 2
// Prints "Height : 3" for Code 1
System.out.println("Height : " + findHeight(t4));
मैं उलझन में हूँ
सभी: एड अन्य अतः जवाब में से कई क्योंकि प्रति संहिता के रूप में ऊंचाई की गणना 1
विरोधाभासी लॉजिक्स
अद्यतन के लिए तर्क से पता चलता , मुझे एक बुनियादी संदेह है कि सटीक क्या है पेड़ की ऊंचाई ly?
1. क्या यह जड़ के रूट और गहरे नोड (दोनों रूट - & गहरे नोड) के बीच नोड्स का कोई नहीं है?
2. क्या यह पेड़ के रूट और गहरे नोड के बीच किनारों का कोई नहीं है?
या
3. यह हर व्यक्ति के कार्यान्वयन की सिर्फ बात है - दोनों दृष्टिकोण सही हैं?
लेकिन कोई सवाल नहीं है .. – Maroun
अद्यतन की जांच करें! – tmgr
यह एक पूरी तरह से मनमानी परिभाषा है। क्या आप चाहते हैं कि ऊंचाई किनारों की संख्या या नोड्स की संख्या हो? जब तक आप लगातार हों, तब तक सब कुछ काम करेगा। – Teepeemm