計算二叉樹的最大寬度 關(guān)于求二叉樹深度的遞歸算法?
關(guān)于求二叉樹深度的遞歸算法?Int height(BiTree T){if(T==null)return 0U=height(T->lchild)v=height(T->rchild)if(U
關(guān)于求二叉樹深度的遞歸算法?
Int height(BiTree T){if(T==null)return 0U=height(T->lchild)v=height(T->rchild)if(U>N)return(u1)//n should be vreturn(v1)}n in if should be v。其思想是節(jié)點的深度是其兩個子節(jié)點的最大值加1。在該算法中,u得到左子樹的深度,V得到右子樹的深度。那么這個節(jié)點的深度是u和V加1的最大值。要得到樹的深度,首先要得到樹中根節(jié)點的兩個子節(jié)點的深度,比較兩個子節(jié)點的深度,取最大值加1得到樹的深度。根節(jié)點的兩個子節(jié)點的深度是通過上述原理遞歸得到的。
層序遍歷二叉樹與經(jīng)典遞歸遍歷的性能差距多大?
遞歸遍歷二叉樹程序很短,容易理解。在性能方面,遞歸速度快,占用內(nèi)存少。但遞歸程序包含深度優(yōu)先和廣度優(yōu)先的遍歷方法,比較復(fù)雜,容易出錯。
現(xiàn)在CPU速度非??欤褩?臻g非常大。性能差異可以忽略不計。
或遞歸遍歷二叉樹程序可讀性更好。