一、獲取二叉樹的深度
就是二叉樹最后的層次,如下圖:
實現代碼:
代碼如下:
def getheight(self):
''' 獲取二叉樹深度 '''
return self.__get_tree_height(self.root)
def __get_tree_height(self, root):
if root is 0:
return 0
if root.left is 0 and root.right is 0:
return 1
else:
left = self.__get_tree_height(root.left)
right = self.__get_tree_height(root.right)
if left < right:
return right + 1
else:
return left + 1
二、葉子的統計
葉子就是二叉樹的節點的 left 指針和 right 指針分別指向空的節點
代碼如下:
def getleafcount(self):
''' 獲取二叉樹葉子數 '''
return self.__count_leaf_node(self.root)
def __count_leaf_node(self, root):
res = 0
if root is 0:
return res
if root.left is 0 and root.right is 0:
res += 1
return res
if root.left is not 0:
res += self.__count_leaf_node(root.left)
if root.right is not 0:
res += self.__count_leaf_node(root.right)
return res
三、統計葉子的分支節點
與葉子節點相對的其他節點 left 和 right 的指針指向其他節點
代碼如下:
def getbranchcount(self):
''' 獲取二叉樹分支節點數 '''
新聞熱點
疑難解答