二叉树的高度获取方法(递归)
Posted pandamohist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的高度获取方法(递归)相关的知识,希望对你有一定的参考价值。
--- 欢迎 指正---
思路:采用类似后续遍历的思想。倒着找,从下向上找;
c++实现:
结点结构:
struct node { int data; int height; node *lc; node *rc; node() : data(0) , height(0) , lc(0) , rc(0) { } };
获取树的高度:
// 返回树的高度,采用 后序遍历的方式 int get_tree_deepth(node *pnode) { if (NULL == pnode) return 0; int left_h = get_tree_deepth(pnode->lc) ; int right_h = get_tree_deepth(pnode->rc); return (left_h > right_h) ? (1 + left_h) : (1 + right_h); }
这里,我拿刚做好的平衡二叉树做示范,输出结果如下:
以上是关于二叉树的高度获取方法(递归)的主要内容,如果未能解决你的问题,请参考以下文章