2012-07-09 28 views
6

मैं इस जावा विधि की पुनरावृत्ति सूत्रतलाश है: में आदेश द्विआधारी पेड़ उत्पादन विधि की पुनरावृत्ति फॉर्मूला

void printInorder(Node<T> v) { 
    if(v != null) { 
     printInorder(v.getLeft()); 
     System.out.println(v.getData()); 
     printInorder(v.getRight()); 
    } 
} 

कुछ मापदंड के लिए खोज एक जाम का एक सा में हूँ:

  • अपने एक पूरा द्विआधारी पेड़ (हर भीतरी गाँठ, 2 बच्चे हैं हर पत्ती उसी गहराई है)
  • पेड़ n समुद्री मील और हे (एन) की एक जटिलता है

मुझे पेड़ के depth h के संबंध में n knots के साथ पुनरावृत्ति फॉर्मूला ढूंढना है, और एक अतिरिक्त बोनस के रूप में, मुझे उस से स्पष्ट सूत्र को निकालने की आवश्यकता है जो उस से ओ (एन) की ओर अग्रसर है।

अब, यह मैं क्या मिल गया है:

d = depth of the tree 
c = constant runtime for execution of the method itself 
d = 1: T(n) = c 
d = 3: T(n) = T(d=1) + T(d=2) + T(d=3) + c 

मैं उदाहरण घ = 3 इस्तेमाल किया खुद के लिए चीजों को स्पष्ट करने, मैं कठिनाइयों आगे इस टूट आ रही है। क्या मेरी धारणा भी सही है?


संपादित करें: बातें

[x] = { x in real numbers : max([x]) <= x }, [x] rounded down to next full number 
d = 1: T(d) = 1 
d > 1: T(d) = 2^(h-1) * T(n/(2^(h-1))) 

1: T(h) = T(i = 0) + T(i = 1) + ... T(i = h-1) 
2: T(h) <= (2^(0-1) + n/(2^(0-1))) + (2^(1-1) + n/(2^(1-1))) + ... + (2^(h-2) + n/(2^(h-2))) 
3: T(h) = n + n + ... + n 
4: T(h) = (h-1)n 
5: T(h) = O(n) 

पेड़ की गहराई के हर स्तर के ठीक 2^(ज -1) नोड्स शामिल क्योंकि पर अगला प्रयास, लाइन 4 में ज कारक है क्योंकि अनदेखा किया जा सकता अंतिम परिणाम के लिए एन अधिक प्रासंगिक है।

उत्तर

3

टी (एन) = टी (एन/2) + T (n/2) + 1

  • स्तर 0 1 आपरेशन है।

  • स्तर 1 में 2 ऑपरेशन हैं।

  • स्तर 2 में 4 ऑपरेशन हैं।

  • स्तर के 2^के संचालन है।

  • पेड़ की गहराई lgn है।

1 + 2 + ... + 2^LGN =
2^0 + 2^1 + 2^2 + ... + 2^LGN =
(2^(LGN + 1) -1)/(2-1) = 2 * 2^lgn =
2 एन।

1

यहां इस तरह के इस बजाय एक प्रतिपादक के रूप में प्रतिनिधित्व किया जा के रूप चिकनाई नियम (Levitin, एल्गोरिदम का डिजाइन & विश्लेषण, 2 एड।, 481-82), जो एक आवर्ती संबंध की अनुमति देता है का उपयोग करते हुए एक वैकल्पिक दृष्टिकोण है।

Demonstration of smoothness rule.

या तो दृष्टिकोण - आगे या पीछे प्रतिस्थापन - इस समस्या के लिए उपयुक्त है। मुझे पचाने में आसान होने के लिए कई मामलों में पिछड़ा प्रतिस्थापन मिलता है।