平衡二叉搜索树 二叉搜索树的问题: 添加:若从小到大添加元素,那么二叉搜索树将退化成链表 删除:删除节点时也可能会导致二叉搜索树退化成链表 平衡(Banlance) 平衡:当节点数量固定时,左右子树的高度越接近,这棵二叉树就越平衡(高度越低) 最理想的状态就是像完全二叉树、满二叉树那样,高度是最小的 ...
分类:
其他好文 时间:
2020-04-11 00:32:57
阅读次数:
70
"题面" 给定树的节点数n和d,构造一颗二叉树,使所有节点的的深度和为d 容易得出n个节点的二叉树每个节点深度的总和最大为n (n 1)/2,最小值为满二叉树的情况 于是就可以愉快地判断答案是否存在啦,然后还得构造出一个合法的答案qwq 我的方法是先弄成一条链再进行调整 反正数据不大,不如简单点每次 ...
分类:
其他好文 时间:
2020-04-10 00:25:58
阅读次数:
62
二叉树的遍历,无非就是按层遍历,先序遍历,中序遍历和后序遍历这几种。其中后三种的先,中,后等等是相对于根节点而言的。给出一棵二叉树,我们可以按照相对应的规则去输出它的遍历序列,同样的,如果满足一定的条件,那么也可以通过给出的序列来还原相对应的二叉树。 以满二叉树为例,如下图:(略丑,将就看看) 这棵 ...
分类:
其他好文 时间:
2020-03-21 18:03:15
阅读次数:
65
二叉堆是一棵完全二叉树,完全二叉树:对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 可以理解为将数据按照“层序遍历”的方式排列到二叉树的每一个节点,完全二叉树不一定是满二叉树,完全二叉树缺少的部分在树的右下方。 如果堆中 ...
分类:
其他好文 时间:
2020-03-21 10:02:11
阅读次数:
70
1. 堆合并 两个完全二叉堆的合并算法: 1.1 A.insert( B.del_max() ) 完全二叉堆是基于vector实现的,故若采用合并算法,只需将堆A(n)作为一个基本堆,进而不断的将堆B(m)的元素进行删除取出,重新插入A中。 每次迭代为一次删除和一次插入操作,共进行m次迭代。 复杂度 ...
分类:
其他好文 时间:
2020-03-07 13:20:44
阅读次数:
88
1)二叉树:一个节点两条分支。同理,多叉树一个节点多个分支。 2)满二叉树:二叉树的叶子节点只出现在最底层,最底层排满。 3)完全二叉树:二叉树的叶子节点只出现在最底层和倒数第二层。 4)二叉搜索树:节点按一定顺序排放,如左子节点小于父节点,右子节点大于父节点。 5)平衡二叉树:任何节点的左右子树的 ...
分类:
其他好文 时间:
2020-03-03 23:58:56
阅读次数:
116
Description "题库链接" 给你一棵 $n$ 层的满二叉树,每个节点可选择为黑或者白。所有的叶子节点都会产生一定的贡献值,具体地,它与其祖先选色相同时会有特定的值(输入给定)。问如何染色使得所有贡献和最大。并且规定染成黑色的叶子节点不能超过 $m$ 个。 $1\leq n\leq 10$ ...
分类:
其他好文 时间:
2020-02-14 14:38:17
阅读次数:
56
1.二叉树 1.1基本概念 兄弟节点 要是父节点一样的才算是 下面的树叫做 1节点的子树 1节点有5个度 2节点的深度为2 2的高度为3 1.2有序树,无序树,森林 1.3二叉树 1.3二叉树的性质 1.4真二叉树 1.5满二叉树 1.6完全二叉树 1.7完全二叉树的性质 完全二叉树就是节点 从上往 ...
分类:
其他好文 时间:
2020-02-09 14:25:03
阅读次数:
81
红黑树 平衡二叉树 定义:二叉树中任意一个节点的左右子树的高度相差不能大于 1。 完全二叉树、满二叉树其实都是平衡二叉树,非完全二叉树也有可能是平衡二叉树。 平衡二叉查找树 任何节点的左右子树高度相差不超过 1,是一种高度平衡的二叉查找树。 符合二叉查找树的特点:左子节点小于父节点,右子节点大于父节 ...
分类:
编程语言 时间:
2020-01-11 22:32:57
阅读次数:
104
度:节点的子节点个数,称为度。 根节点:顾名思义,根节点是树的最顶层的节点,其他节点由它“生”出。代码中多用root表示。 叶子节点:叶子是树的最端位置,因此叶子节点的意思便是度为0的节点。 双亲节点:节点的上一个节点。 孩子节点:节点的下一个节点。 满二叉树与完全二叉树 1.满二叉树:节点的度要么 ...
分类:
其他好文 时间:
2019-12-29 20:39:07
阅读次数:
96