文章出处:数据结构和算法之树形结构(3)
关注码农爱刷题,看更多技术文章!!
四、平衡二叉树(接前篇)
上一章节讲到为了避免二叉查找树退化成链表后的极度不平衡带来的低效率而衍生出了平衡二叉树,平衡二叉树的严格定义是这样的:二叉树中任意一个节点的左右子树的高度相差不能大于 1。这样的定义就是尽可能保证二叉树左右节点的平衡,从而保证时间复杂度的高效。从平衡二叉树的定义不难看出,不仅满二叉树,还有完全二叉树(关于两者的定义,可以查看前述文章 数据结构和算法之线性结构)都是符合平衡二叉树定义的,而其他的非完全二叉树也可能是平衡二叉树,例如下图就是一棵非完全二叉树,但它是平衡二叉树。