AVL树是有平衡条件的二叉搜索树。这个平衡条件必须容易保持,而且需要保证树的深度是O(logN)。 AVL=BBST 作为二叉搜索树的最后一部分,我们来介绍最为经典的一种平衡二叉搜索树:AVL树。回顾此前的几节,我们首先介绍的是二叉查找树BST。然而我们也能感受到,尽管从同时兼顾高效的静态操作 和动 ...
分类:
其他好文 时间:
2017-12-24 18:55:45
阅读次数:
161
目录 定义 二叉树是一个连通的无环图,并且每一个顶点的度不大于3,二叉树还要满足根结点的度不大于2。每个顶点定义了唯一的父结点,和最多2个子结点。 基本概念 二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态: 空二叉树 只有一个根结点的二叉树 只有左子树 只有右子树 完全二叉树 ...
分类:
其他好文 时间:
2017-12-23 12:11:28
阅读次数:
202
满二叉树 在二叉树的基础上, 除了最后一层节点没有任何子节点外,每一层的节点都有两个子节点,且每一层都完全填满的二叉树,叫做满二叉树。在外形上看,就像是一个完整的金字塔的形状。(从深度和节点数的关系上看,一颗深度为k且有2^k-1个节点的二叉树称为满二叉树) 完全二叉树 对满二叉树进行从上至下,从左 ...
分类:
其他好文 时间:
2017-12-20 13:30:04
阅读次数:
106
二叉树:数据结构的一种。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。一棵深度为k,且有2^k-1个节点称之为满二叉树;深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为1至n的节点对应时,称之为完全二叉树。 堆实质上 ...
分类:
编程语言 时间:
2017-12-18 18:42:20
阅读次数:
197
-by bzoj http://www.lydsy.com/JudgeOnline/problem.php?id=2111 考虑第i个位置上的数字的可能性只取决于第i/2位置上的数,以及剩余数集的大小,可以看出一个树形模型 考虑第i个位置上的数字只会影响第i*2与i*2+1两个位置的可能性,发现这是 ...
分类:
其他好文 时间:
2017-12-17 12:17:05
阅读次数:
126
课堂练习之链表节点删除 构建堆 "堆的详细知识点" 题目:建成(最大)堆,画出完全二叉树,写出堆排序过程。{29,10,25,26,58,12,31,18,18,47} 错误回答 正确回答 ...
分类:
其他好文 时间:
2017-12-16 17:25:04
阅读次数:
185
胜者树与败者树 胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结 ...
分类:
编程语言 时间:
2017-12-01 18:34:39
阅读次数:
218
一、二叉树 1.完全二叉树 2.满二叉树 3.平衡二叉树 4.红黑树 5.树堆 6.线索二叉树 二、堆 1.最大/最小堆 2.二项堆 3.斐波那契堆 4.左偏树 三、B树 1.B树 2.B+树 3.B*树 四、字典树 ...
分类:
其他好文 时间:
2017-11-25 14:22:30
阅读次数:
170
priorityQueue通过add方法添加,通过poll方法一次获得一个最小元素(元素需要实现Comparable或提供Comparator的实现类),实现原理最小堆,也就是说元素按照最小堆结构存放。最小堆是一个完全二叉树结构(满足第i个节点的左child索引是2i+1,右child索引是2i+2,父节点为i-1/2..
分类:
其他好文 时间:
2017-11-22 13:15:48
阅读次数:
138
" 447 Div2 D" 题意 给一棵完全二叉树,每条边有权值为两点间的距离,每次询问 $x, h$ ,从结点 $x$ 出发到某一结点的最短路的距离 $d$ 如果小于 $h$ ,则答案加上 $h d$ ,考虑所有结点并输出答案。 分析 通过建树过程可以发现这是一棵完全二叉树,也就是说树很矮。 可以 ...
分类:
其他好文 时间:
2017-11-21 22:11:10
阅读次数:
155