摘要: 恢复内容开始 首先科普一个事实,对于一个满二叉树来说,节点个数=(1<< (高度))-1。 接下来我们看这道题,管他三七二十一,前面那么多树的遍历,直接搞起,可他丫的还有一个限制条件:时间复杂度小于O(n),那就把这条路堵死了,算了算了,先看图分析一下: 我们仔细观察可以发现,完全二叉树的左右子树必 阅读全文
posted @ 2021-06-26 22:34 吃肉不长肉的小灏哥 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 老规矩,先看定义:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树 在解释:其实就是和堆一样的,一棵树从上到下从左到右必须要完完整整的按顺序来,描述的不太容易理 阅读全文
posted @ 2021-06-26 21:48 吃肉不长肉的小灏哥 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树定义:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 我们来看一下定义:左子树小 阅读全文
posted @ 2021-06-26 21:16 吃肉不长肉的小灏哥 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树的定义:平衡树(Balance Tree,BT) 指的是,任意节点的子树的高度差都小于等于1,我们可以看下图:左边就不是平衡二叉树,因为3的高度为3而5的高度为1,相差大于1。看右边树最大差别3的高度为2,5的高度为1,最大只相差1,所以为平衡二叉树。 那么我们怎么实现呢? 最简单的做法就 阅读全文
posted @ 2021-06-26 17:33 吃肉不长肉的小灏哥 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 我们前面写过二叉树的前序,中序,后续遍历算法,今天聊到的前后置节点就是对于中序遍历来说的顺序前后节点,如下图是按中序遍历顺序1-10的节点: 比如3的前置节点为2,后置节点为4,我们先来看看后置节点的算法思想: 我们都知道中序遍历是按照节点左-父-右顺序遍历的,因此一个节点的后置节点只会有两种情况: 阅读全文
posted @ 2021-06-26 17:05 吃肉不长肉的小灏哥 阅读(231) 评论(0) 推荐(0) 编辑