如何製作一個函數,返回有兩個孩子的樹中的節點數量?Python二進制樹打印節點與兩個恰好兩個孩子
我的類代碼如下:
class RefBinaryTree:
def __init__(self, data, left=None, right=None):
self.key = data
self.left = left
self.right = right
def insert_left(self, value):
self.left = RefBinaryTree(value, left=self.left)
def insert_right(self, value):
self.right = RefBinaryTree(value, right=self.right)
def get_left_subtree(self):
return self.left
def get_right_subtree(self):
return self.right
def set_value(self, new_value):
self.key = new_value
def get_value(self):
return self.key
def create_string(self, indent):
string = str(self.key) + '---+'
if self.left:
string += '\n(l)' + indent + self.left.create_string(indent + ' ')
if self.right:
string += '\n(r)' + indent + self.right.create_string(indent + ' ')
return string
def __str__(self):
return self.create_string(' ')
我猜這將是最好使用遞歸。任何提示或有用的鏈接都會很棒。謝謝。
只需使用遞歸,你在哪裏卡住? – laike9m 2014-10-17 03:54:41
尋找一些樹遍歷算法。遞歸的非常簡單。 – 2014-10-17 04:14:16