计算二叉树的最大宽度 关于求二叉树深度的递归算法?
浏览量:2734
时间:2021-03-11 15:51:26
作者:admin
关于求二叉树深度的递归算法?
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。其思想是节点的深度是其两个子节点的最大值加1。在该算法中,u得到左子树的深度,V得到右子树的深度。那么这个节点的深度是u和V加1的最大值。要得到树的深度,首先要得到树中根节点的两个子节点的深度,比较两个子节点的深度,取最大值加1得到树的深度。根节点的两个子节点的深度是通过上述原理递归得到的。
层序遍历二叉树与经典递归遍历的性能差距多大?
递归遍历二叉树程序很短,容易理解。在性能方面,递归速度快,占用内存少。但递归程序包含深度优先和广度优先的遍历方法,比较复杂,容易出错。
现在CPU速度非常快,堆栈空间非常大。性能差异可以忽略不计。
或递归遍历二叉树程序可读性更好。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。