क्या दो अलग-अलग वृक्षों का पूर्व-क्रम ट्रावेल भिन्न होते हुए भी समान हो सकता है?


11

यह प्रश्न बहुत कुछ समझाता है कि वे कर सकते हैं, लेकिन एक ही पूर्व-क्रम के साथ दो अलग-अलग पेड़ होने के कोई उदाहरण नहीं दिखाते हैं।

यह भी उल्लेख किया गया है कि दो अलग-अलग पेड़ों के इन-ऑर्डर ट्रैवर्सल समान हो सकते हैं, हालांकि वे संरचनात्मक रूप से भिन्न होते हैं। क्या इसका कोई उदाहरण है?


2
यह एक बहुत ही प्रवेश स्तर का व्यायाम है। आपने क्या प्रयास किया है और आप कहां फंस गए हैं?
राफेल

1
यहां तक ​​कि अगर आपके पास पोस्टऑर्डर है, तो प्रीऑर्डर, ट्रैवर्सल के अलावा, आप अभी भी अलग-अलग पेड़ प्राप्त कर सकते हैं। दिए गए सीमा और पोस्टऑर्डर ट्रैवर्सल के साथ पेड़ क्यों विशिष्ट रूप से संभव नहीं है? आप इन-ऑर्डर प्रतिनिधित्व से बाइनरी ट्री में एक इन-ऑर्डर उदाहरण पा सकते हैं । इसके अलावा संबंधित / डुप्लिकेट: प्री-, पोस्ट- और इन-ऑर्डर अनुक्रमिकता के कौन से संयोजन अद्वितीय हैं?
डुकलिंग

जवाबों:


28

ट्री उदाहरण (छवि) :

     A:                 B:
     ‾‾                 ‾‾
     1                  1
    /                  / \
   2                  2   3
  /  
 3   

यह एक ऐसा उदाहरण है जो आपके परिदृश्य में फिट बैठता है, ट्री ए रूट का मान 1 है, जिसके बाएं बच्चे का मान 2 है, और उसके बाएं बच्चे का भी मान 3 के साथ एक बाएं बच्चा है।

ट्री बी रूट की वैल्यू 1 है, वैल्यू 2 वाले लेफ्ट बच्चे की है और वैल्यू 3 वाली राइट चाइल्ड है।

दोनों ही मामलों में Preorder ट्रैवर्सल 1-> 2-> 3 है।


11
यह वास्तव में एक सामान्य नियम का एक विशिष्ट मामला है कि किसी भी आदेश के किसी भी पेड़ के लिए, केवल बाएं (या केवल दाएं) बच्चों का एक रैखिक पेड़ होता है जिनके पास समान आदेश होता है।
१६:५५ पर दन्क्रम्ब

5
@ डनक्रंब जो बदले में एक सामान्य नियम का एक विशिष्ट मामला है, जिसमें एन नोड्स वाले किसी भी पेड़ के लिए, और एन नोड्स के साथ किसी भी पेड़ के आकार (= बिना लेबल वाले पेड़) के लिए, बाद वाले को लेबल करने का एक तरीका है ताकि यह ट्रैवर्सल के साथ साझा करे भूतपूर्व। यह किसी भी ट्रैवर्सल (प्री- / पोस्ट- / इन-ऑर्डर विजिट) के लिए है।
ची

8

मान लें कि आप नोड्स के पेड़ों पर विचार करते हैं। अब किसी भी बाइनरी ट्री को नोड्स के साथ लें और नोड्स को उनके प्री-ऑर्डर नंबरिंग के अनुसार नाम दें। फिर स्पष्ट रूप से पेड़ का पूर्व क्रम अनुक्रम ।nn1,2,,n

इसका मतलब यह है कि हम किसी भी बाइनरी ट्री संरचना के नोड्स का नाम दे सकते हैं ताकि यह दूसरे दिए गए पेड़ के समान पूर्व-क्रम अनुक्रम उत्पन्न करेगा।

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


8

तर्क वितर्क करना

नोड्स के अनलिस्टेड बाइनरी पेड़ों की संख्या कैटलन संख्याउदाहरण के लिए 3 नोड्स के 5 बाइनरी पेड़ हैं,nnthCn=(2n)!/(n!(n+1)!).

    o         o         o         o         o
   /         /         / \         \         \
  o         o         o   o         o         o      .
 /           \                     /           \
o             o                   o             o

इनको लेबल करने से कारक मिलता हैउसके ऊपर, ताकि लेबल वाले बाइनरी पेड़ों की संख्याn!

(2n)!(n+1)!=2n(2n1)(n+2).

इसके विपरीत केवल नोड्स के एक पेड़ के traversals । चूंकि हम पूर्व को गुणा करते हैं, इसलिए कोई ट्रैवर्सल लिए पेड़ की पूरी संरचना को शामिल नहीं कर सकता है इसलिएऔर यह सामान्य रूप से किसी भी डेटा संरचना के लिए होता है, जिसमें बिना लेबल वाले एक से अधिक कॉन्फ़िगरेशन होते हैं; आपको कैटलन संख्याओं के बारे में इस विवरण को जानने की आवश्यकता नहीं है , जब तक आप जानते हैं कि आकार कम से कम दो बिना लेबल वाले द्विआधारी पेड़ हैं ।n!nn!Cn>1n>1.एनn


1

आपके दूसरे प्रश्न के बारे में, हाँ दो संरचनात्मक रूप से अलग-अलग पेड़ों में एक ही इनवर्टर ट्रावेल हो सकता है। ऐसा ही एक उदाहरण है:

     A:                 B:

     1                  2
    / \                  \
   2   3                  1
                           \
                            3

दोनों पेड़ों का इन्वर्टर ट्रैवर्सल एक जैसा है। 2 -> 1 -> 3

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.