मुझे पेड़ के ट्रैवर्सल के साथ कठिन समय है, और इसलिए इसे प्लेग की तरह से बचें ... सामान्य रूप से।पायथन - वृक्ष ट्रैवर्सल प्रश्न
मैं एक वर्ग है कि तरह-की है (यहाँ थोड़ा सरलीकृत संस्करण है, लेकिन कार्यात्मक रूप में एक ही) की तरह:
class Branch(object):
def __init__(self, title, parent=None):
self.title = title
self.parent = parent
मैं Branch
उदाहरणों में से एक गुच्छा, के रूप में प्रत्येक के शीर्षक का एक शब्दकोश है कुंजियाँ:
tree = {'Foo Branch': foo, 'Sub-Foo Branch': sub_foo, 'Bar Branch': bar}
अब, मुझे पता है ट्रेवर्सल कुशल (जैसे MPTT, एट अल), विशेष रूप से डेटाबेस चालित परियोजनाओं के साथ उपयोग के लिए कर रही है जहां दक्षता मामलों के लिए जटिल एल्गोरिदम देखते हैं कि अधिकांश। मैं डेटाबेस का उपयोग नहीं कर रहा हूं, केवल साधारण स्मृति-स्मृति वस्तुओं में।
एक Branch
की title
देखते हुए, मैं तो tree
से उस शाखा के सभी सन्तान (बच्चों, बच्चों के बच्चों, तो पर) के list
प्राप्त करने की आवश्यकता,:
- आप अभी भी एक का उपयोग कर की सिफारिश करेंगे, जटिल (मेरे अलगो-कम मस्तिष्क के लिए :) मेरे मामले में दक्षता के लिए एमपीटीटी की तरह एल्गोरिदम, या एक समारोह में इसे प्राप्त करने का एक आसान तरीका है?
- यदि हां, तो आप कौन सी सिफारिश करेंगे, यह जानकर कि मैं डेटाबेस का उपयोग नहीं कर रहा हूं?
- क्या आप एक उदाहरण प्रदान कर सकते हैं, या यह सोचने से बहुत बड़ा है?
नोट: यह होमवर्क असाइनमेंट नहीं है। मैं स्कूल में नहीं हूँ मैं वास्तव में एल्गोरिदम पर यह बुरा हूँ। मैंने एक परियोजना के लिए Django एमपीटीटी का उपयोग किया है जिसके लिए डीबी-संग्रहित पेड़ की आवश्यकता है ... लेकिन फिर भी इसे बहुत अच्छी तरह से समझ में नहीं आता है।
मुझे लगता है कि करने के लिए है, तो मैं कर रहा हूँ यह कहने के लिए कि जवाब रिकर्सन में निहित है। – orokusaki