二叉樹平衡檢查

2022-04-17 05:21:02 字數 713 閱讀 8159

題目描述

實現乙個函式,檢查二叉樹是否平衡,平衡的定義如下,對於樹中的任意乙個結點,其兩顆子樹的高度差不超過1。

給定指向樹根結點的指標treenode* root,請返回乙個bool,代表這棵樹是否平衡。

# -*- coding:utf-8 -*-

class treenode:

def __init__(self, x):

self.val = x

self.left = none

self.right = none

class balance:

def isbalance(self, root):

if root is none:

return true

if abs(self.get_length(root.left)-self.get_length(root.right))>1:

return false

return self.isbalance(root.left) and self.isbalance(root.right)

def get_length(self,root):

if root is none:

return 0

return 1+max(self.get_length(root.left),self.get_length(root.right))

二叉樹平衡檢查

題目描述 實現乙個函式,檢查二叉樹是否平衡,平衡的定義如下,對於樹中的任意乙個結點,其兩顆子樹的高度差不超過1。給定指向樹根結點的指標treenode root,請返回乙個bool,代表這棵樹是否平衡。思路一 用遞迴來遍歷計算每個節點左右子樹的高度,最後比較差值。時間複雜度o n logn publ...

二叉樹平衡檢查

實現乙個函式,檢查二叉樹是否平衡,平衡的定義如下,對於樹中任意乙個結點,兩顆子樹的高度差不超過1。給定指向樹根結點的指標treenode root,請返回乙個bool,代表這棵樹是否平衡。樹結構自身就是遞迴定義,很多問題都可以利用遞迴巧妙地實現,對於這道題,關鍵點有兩處 求結點左右子樹高度差 遍歷樹...

C 二叉樹平衡檢查

關於二叉樹與圖 1.從無到有實現二叉樹和圖 2.在二叉樹和圖中檢索 查詢target value 二叉搜尋樹 binary search tree 所要滿足的條件 對於二叉搜尋樹中任意乙個節點 它的左子樹中的所有數值都比當前節點的關鍵碼小 它的右子樹中的所有節點的關鍵碼都比當前節點的關鍵碼大 二叉搜...