Leetcode學習筆記(三)樹的最大深度

2021-10-03 23:05:25 字數 800 閱讀 2839

本章從兩方面總結:二叉樹的最大深度和n叉樹的最大深度

題目描述

解法一:遞迴 

class solution 

};

這種方法容易造成堆疊的溢位。

解法二:dfs(利用堆疊)

#includeclass solution 

if (root -> right != null)

}return maxdepth;}};

知識點普及:

pair是將2個資料組合成乙個資料,當需要這樣的需求時就可以使用pair。另乙個應用是,當乙個函式需要返回2個資料的時候,可以選擇pair。 pair的實現是一種結構體,主要的兩個成員變數是first, second 因為是使用struct不是class,所以可以直接使用pair的成員變數。

下面圖幫助理解(摘自小浩演算法)

方法三:bfs

機器學習筆記 三 決策樹

學習機器學習演算法之決策樹,這個大俠的文章寫得不錯 總結一下 1.對於資訊熵的理解 選假設有乙個離散型隨機變數x有4中可能的結果 a 1 2,b 1 4,c 1 8,d 1 8,後面的是每種結果的發生概率。那麼如果順序的去猜測x,就會有以下事件可能發生 問到a,命中a,用一次,問a b,命中b,用兩...

LeetCode學習筆記

1.遞迴 1.斐波那契 1,1,2,3,5,8,前兩項之和是後一項 遞迴問題 呼叫自身,結束條件 一 時間複雜度2 n,即n 1,時間複雜度翻一倍 def fibnacci n if n 0 or n 1 return 1 結束條件 else return fibnacci n 1 fibnacci...

《機器學習實戰》學習筆記三 決策樹

1.資訊增益 決策樹應該是比較簡單的概念了,其結構類似於二叉樹,從根節點向下依次判斷,直至葉子節點獲得結果。對於基本結構不多說了,這裡主要說一下和決策樹相關的兩個數學上的概念,即資訊增益和夏農熵。資訊增益是指的以某乙個特徵對資料集劃分前後資料集發生的變化,而夏農熵則是度量這一變化的量。夏農熵的計算公...