मैं एक द्विआधारी खोज वृक्ष डेटा संरचना वर्ग कि नोड्स जो पक्ष में वस्तुओं वर्ग कि एक द्विआधारी खोज वृक्ष की तरह कार्य करता हैं रखती है।
वर्ग यहाँ पोस्ट करने के लिए बहुत लंबा है, लेकिन मूल रूप से यह यह कैसे काम करता है। मैं BST के शीर्ष मूल्य मुद्रित करने के लिए चाहते हैं, तो मैं कहूंगा कि
print (self._root)
अगर मैं पेड़ के बाईं तरफ जाना चाहते थे (सही करने के लिए जाने के लिए के साथ एक ही हैं, बिल्कुल सही बाईं के बजाय डाल), मैं कहूंगा कि
print (self._root._left)
मुझे आशा है कि यह पर्याप्त है ताकि आप मुझे मेरी समस्या के साथ मदद कर सकते हैं
तो मेरी समस्या पर, अगर मैं एक BST है जैसे:
6
/ \
3 8
/ \ \
1 4 10
मैं बाहर मुद्रित करने के लिए सक्षम होना चाहते हैं:
6
3
8
1
4
10
मैं एक पुनरावर्ती पार समारोह में लिखा है:
def traverse(self):
a = []
self._traverse_aux(self._root, a)
return a
def _traverse_aux(self, node, a):
if node is not None:
self._traverse_aux(node._left, a)
a.append(node._value)
self._traverse_aux(node._right, a)
return
कैसे कभी, यह एक एकल सरणी में मानों प्रिंट:
[1, 3, 4, 6, 8, 10]
मैं इसे जिस तरह से मैं ऊपर चाहते हैं मुद्रित करने के लिए कैसे मिल सकता है?













