php - Modified preorder tree traversal - finding the next node -


मेरे पास यह डेटा है:

  id | माता-पिता | एलएफटी | आरजीटी | नाम ===================================== 1 | 0 | 1 | 8 | एबीसी 2 | 3 | 5 | 6 | जेकेएल 3 | 1 | 2 | 3 | Def 4 | 0 | 9 | 10 | Mnno 5 | 1 | 4 | 7 | <  

मुझे इस क्रम (आईडी) में इस अनुक्रम को पार करने की आवश्यकता है: 1> 3> 5> 2> 4

मैं इसे कैसे प्राप्त करूं?

मान लें कि मुझे नोड_एक्स के अगले नोड को ढूंढना है।

  यदि (node_x_rgt - node_x_lft == 1) {next_node_lft = node_x_rgt + 1; } Else {next_node_lft = node_x_lft + 1; }  

यह सूत्र कुछ मामलों में ही काम करता है (नोड आईडी 1,3,5,2)। नोड 2 का अगला नोड 4 होना चाहिए।

आपके द्वारा दी गई जानकारी के साथ मैं सलाह दे सकता हूं कोशिश करें:

आईडी से टेबल ऑर्डर से * चुनें * बीटीडब्ल्यू, आईडी 4 के लिए एलएफटी और आरजीटी कॉलम पेड़ से बाहर हैं, एक त्रुटि की तरह दिखता है

बीटीडब्ल्यू 2, अगर यह होमवर्क है, तो इसे इस तरह टैग करें।

संपादित करें : प्रश्न का संस्करण 2:

इन प्रकार के वृक्षों के रूप में अपरिवर्तनीय है कि सभी नोड्स के लिए (lft & lt; rgt) अगर टेबल में केवल 1 रूट नोड होता है, तो श्रृंखला या एलजीटी या आरजीटी मूल्यों द्वारा प्राप्त किये जा सकते हैं, इस मामले में एलएफटी अभी भी चाल है (लेकिन अवरोही क्रम में आरजीटी के माध्यम से वैकल्पिक नहीं होगा):

 < कोड> एलएफटी  
द्वारा टेबल ऑर्डर से चुनें * चुनें

Comments

Popular posts from this blog

c# - How to capture HTTP packet with SharpPcap -

php - Multiple Select with Explode: only returns the word "Array" -

php - jQuery AJAX Post not working -