二叉树深度
来源:互联网 发布:数据库管理数据的优点 编辑:程序博客网 时间:2024/06/08 04:50
求二叉树的深度
输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
二元树的结点定义如下:
struct SBinaryTreeNode // a node of the binary tree{ int m_nValue; // value of node SBinaryTreeNode *m_pLeft; // left child of node SBinaryTreeNode *m_pRight; // right child of node};
如果一棵树只有一个结点,它的深度为1。如果根结点只有左子树而没有右子树,那么树的深度应该是其左子树的深度加1;同样如果根结点只有右子树而没有左子树,那么树的深度应该是其右子树的深度加1。如果既有右子树又有左子树呢?那该树的深度就是其左、右子树深度的较大值再加1。
上面的这个思路用递归的方法很容易实现,只需要对遍历的代码稍作修改即可。参考代码如下:
int TreeDepth(SBinaryTreeNode *pTreeNode){ if(!pTreeNode) return 0; // the depth of left sub-tree int nLeft = TreeDepth(pTreeNode->m_pLeft); // the depth of right sub-tree int nRight = TreeDepth(pTreeNode->m_pRight); // depth is the binary tree return (nLeft > nRight) ? (nLeft + 1) : (nRight + 1);}
- 二叉树的深度
- 二叉树深度求法
- 二叉树深度算法
- 二叉树深度求法
- 二叉树的深度
- 二叉树的深度
- 二叉树的深度
- 二叉树深度
- 二叉树深度遍历
- 二叉树的深度
- 二叉树的深度
- 计算二叉树深度
- 深度遍历二叉树
- 求二叉树深度
- 二叉树的深度
- 求二叉树深度
- 二叉树的深度
- 二叉树的深度
- HTML5一个标志性的漏洞在今年被发现!
- 不得不看的黑客工具集
- 1-XPE体系结构基础
- poj 1000
- 黑马程序员_学习日记_Java基础_多线程
- 二叉树深度
- jad.exe下载地址(eclipse或myeclipse反编译插件和)
- as3 dispatch
- sql语句优化原则
- Kevin,你一定要勇敢一点儿
- 简单诠释下我所了解的spring架构
- Oracle 合并查询
- symfony
- TCP的TIME_WAIT与CLOSE_WAITE状态