演算法學習001 二叉樹的深度(Java)

2021-09-13 12:28:38 字數 528 閱讀 2328

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

/**

public class treenode }*/

public class solution

}

1.若根節點是空節點,則為空樹,深度為0;

2.若根節點不為空,則選擇左子樹和右子樹中深度大的為新樹,原樹的深度是新樹的深度+1;

3.遞迴

/**

public class treenode }*/

public class solution

int cleft = treedepth(root.left); //計算左子樹深度

int cright = treedepth(root.right); //計算右子樹深度

return math.max(cleft,cright)+1;

}}

演算法學習 二叉樹

概念 樹中的元素叫做節點 連線相鄰的節點之間的關係叫父子關係 節點a節點是b節點的父節點,b節點是a節點的子節點。c,d單個節點的父節點是同乙個節點,所以他們互稱為兄弟節點 把沒有父節點的節點叫做根節點 沒有子節點的節點叫做葉子節點或者葉節點 樹節點的高度 節點到葉子節點的最長路徑 邊數 節點的深度...

演算法學習 平衡二叉樹

輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。看到題目,第一時間看到二叉樹的深度定義為 從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。具體可以去看二叉樹的深度 當學會了如何求...

演算法學習 監控二叉樹

給定乙個二叉樹,我們在樹的節點上安裝攝像頭。節點上的每個攝影頭都可以監視其父物件 自身及其直接子物件。計算監控樹的所有節點所需的最小攝像頭數量。從題目中知道,我們需要求得最小攝像頭數量 那麼怎麼樣去保證最小呢 我們來用乙個節點的不需安裝攝像頭的情況列舉一下 當此節點的左右子節點,乙個節點為已監視狀態...