国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python數據結構之二叉樹的統計與轉換實例

2020-02-23 05:23:06
字體:
來源:轉載
供稿:網友

一、獲取二叉樹的深度

就是二叉樹最后的層次,如下圖:



實現代碼:
代碼如下:
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):
        ''' 獲取二叉樹分支節點數 '''

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 手游| 金秀| 张家川| 舒兰市| 揭阳市| 太仆寺旗| 兰西县| 崇明县| 论坛| 溧阳市| 贵溪市| 建始县| 和硕县| 阿克陶县| 铜梁县| 易门县| 桐梓县| 老河口市| 辽中县| 泾川县| 新蔡县| 原平市| 独山县| 丹东市| 松阳县| 吉木萨尔县| 马边| 磐安县| 华坪县| 福贡县| 中西区| 万全县| 武城县| 南华县| 景德镇市| 通城县| 瓮安县| 福贡县| 湘乡市| 额敏县| 专栏|