go语言二叉树的深度 leetcode 二叉树深度

什么叫二叉树的度和深度?二叉树结点的度数指该结点所含子树的个数,二叉树结点子树个数最多的那个结点的度为二叉树的度 。
二叉树的根结点所在的层数为1,根结点的孩子结点所在的层数为2,以此下去 。深度是指所有结点中最深的结点所在的层数 。
扩展资料:
在计算机科学中,二叉树是每个结点最多有两个子树的树结构 。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 。二叉树常被用于实现二叉查找树和二叉堆 。
一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树 。这种树的特点是每一层上的节点数都是最大节点数 。而在一棵二叉树中 , 除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树 。具有n个节点的完全二叉树的深度为floor(log2n)+1 。深度为k的完全二叉树,至少有2k-1个节点,至多有2k-1个节点 。
类型
(1)完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点 , 并且叶子结点都是从左到右依次排布,这就是完全二叉树 。
(2)满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树 。
(3)平衡二叉树——平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树 。
辨析
二叉树不是树的一种特殊情形,尽管其与树有许多相似之处,但树和二叉树有两个主要差别:
树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
2. 树的结点无左、右之分,而二叉树的结点有左、右之分 。
参考资料:百度百科-二叉树
二叉树深度是什么?二叉树的深度是指二叉树的所有结点中最深的结点所在的层数 。
解析:
在计算机科学中 , 二叉树是每个结点最多有两个子树的树结构 。通常子树被称作“左子树”(leftsubtree)和“右子树”(rightsubtree) 。二叉树常被用于实现二叉查找树和二叉堆 。
一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树 。这种树的特点是每一层上的结点数都是最大结点数 。
二叉树的特殊类型:
1、满二叉树:如果一棵二叉树只有度为0的节点和度为2的节点 , 并且度为0的节点在同一层上 , 则这棵二叉树为满二叉树 。
2、完全二叉树:深度为k,有n个节点的二叉树当且仅当其每一个节点都与深度为k的满二叉树中编号从1到n的节点一一对应时,称为完全二叉树 。
【go语言二叉树的深度 leetcode 二叉树深度】完全二叉树的特点是叶子节点只可能出现在层序最大的两层上,并且某个节点的左分支下子孙的最大层序与右分支下子孙的最大层序相等或大1 。
二叉树的深度是多少?二叉树的深度计算 , 首先要判断节点,以下是计算二叉树的详细步骤:
1、一颗树只有一个节点,它的深度是1;
2、二叉树的根节点只有左子树而没有右子树,那么可以判断,二叉树的深度应该是其左子树的深度加1;
3、二叉树的根节点只有右子树而没有左子树,那么可以判断 , 那么二叉树的深度应该是其右树的深度加1;
4、二叉树的根节点既有右子树又有左子树,那么可以判断,那么二叉树的深度应该是其左右子树的深度较大值加1 。
二叉树性质:

推荐阅读