这道题写法和之前差不多 但是fhqtreap在加点的时候为了同时维护大根堆以及二叉排序树的性质所以插入时也要注意分裂 fhqteap需要判断指针是否为空 不然就会re 这个我调了很久 #include<cstdio> #include<cstring> #include<algorithm> usi ...
分类:
其他好文 时间:
2017-06-02 22:00:54
阅读次数:
135
一、什么是水仙花数 水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。 附:其他位数的自幂数名字 一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数 七位自幂数:北斗七星数 八位自幂数:八仙数 九位自幂数:九九 ...
分类:
其他好文 时间:
2017-06-02 21:10:54
阅读次数:
177
Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 二叉排序树的定义是:或者是一棵空树。或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上全部结点的值均小于它的根结点的值; 若它的右子树不空。则右子树上全部结点的值均大于它的根结点的值; 它的左、右子 ...
分类:
编程语言 时间:
2017-05-30 15:54:03
阅读次数:
193
import java.util.Random; /** * 二叉排序树(又称二叉查找树) * (1)能够是一颗空树 * (2)若左子树不空,则左子树上全部的结点的值均小于她的根节点的值 * (3)若右子树不空,则右子树上全部的结点的值均大于她的根节点的值 * (4)左、右子树也分别为二叉排序树 * ...
分类:
编程语言 时间:
2017-05-13 13:37:46
阅读次数:
208
1.二叉排序树 二叉排序树又称二叉查找树,二叉排序树或者一颗空树,或者是具有如下性质的二叉树: (1)若它的左子树非空,则左子树上所有节点的值均小于根节点 (2)若它的右子树非空,则右子树的所有节点的值均大于根节点 (3)左、右子树本身又各是一颗二叉排序树 例子: 利用逐点插入法建立序列(50,72 ...
分类:
编程语言 时间:
2017-05-10 22:25:44
阅读次数:
268
#include <cstdio> struct BSTNode { int m_nval; //数据域 BSTNode *m_pleft; // 左孩子节点 BSTNode *m_pright; //右孩子节点 }; /*************************************** ...
分类:
编程语言 时间:
2017-05-08 12:19:29
阅读次数:
266
AVL树本质上还是一棵二叉搜索树,它的特点是: 1.本身首先是一棵二叉搜索树。 2.带有平衡条件:每个结点的左右子树的高度之差的绝对值最多为1(空树的高度为-1)。 也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。 对Avl树进行相关的操作最重要的是要保持Avl树的平 ...
分类:
其他好文 时间:
2017-05-03 21:59:12
阅读次数:
800
算法思想: 1.模拟 2.搜索 (Search) 枚举(穷举) / 遍历 / 剪枝 / 产生式系统(估价函数)/双向BFS/记忆化搜索 3.查找(字典):折半查找(二分法) / 树形查找(二叉排序树) / Hash 4.递推或归纳 (To 数学方法) > 递推式 > DP (ex: 4 Hanoi ...
分类:
其他好文 时间:
2017-04-30 21:25:45
阅读次数:
165
1、区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍历、后序遍历。具体说明如下: ...
分类:
其他好文 时间:
2017-04-30 20:32:40
阅读次数:
215