#include using namespace std; template class BSTree; template class BSTNode { friend class BSTree; public: BSTNode() : data(type()), leftChild(NULL), ... ...
分类:
其他好文 时间:
2017-09-04 12:00:42
阅读次数:
241
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路:这题目有点特殊,主要在于序列为空的时候,不是后序遍历,返回的是false,但是在递归的时候,递归基要写true,因为如果写false,那么递归的 ...
分类:
其他好文 时间:
2017-09-03 17:54:05
阅读次数:
153
先推荐一篇文章和黄学长的代码http://hzwer.com/1712.html https://wenku.baidu.com/view/c8c11e1e650e52ea55189887.html 黄学长的代码既不用指针又很短,真心推荐 Treap,顾名思义,Tree+Heap,它既满足二叉搜索树 ...
分类:
其他好文 时间:
2017-09-02 23:29:30
阅读次数:
366
一、题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 二、解法 ...
分类:
其他好文 时间:
2017-08-30 15:30:17
阅读次数:
142
一、题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 二、解法 ...
分类:
其他好文 时间:
2017-08-30 11:59:19
阅读次数:
149
二叉搜索树的深度与搜索效率 我们在树, 二叉树, 二叉搜索树中提到,一个有n个节点的二叉树,它的最小深度为log(n),最大深度为n。比如下面两个二叉树: 深度为n的二叉树 深度为log(n)的二叉树 这两个二叉树同时也是二叉搜索树(参考树, 二叉树, 二叉搜索树)。注意,log以2为基底。log( ...
分类:
其他好文 时间:
2017-08-29 14:30:02
阅读次数:
114
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点 ...
分类:
其他好文 时间:
2017-08-23 10:46:22
阅读次数:
139
洛谷P1372 又是毕业季I 对于答案a,k*a是最接近n的,即a=n/k(下取整),所以直接输n/k即可。 我的方法是 二分查找 n/k真的没有想到唉。 我找的最大公约数,如果当前的mid对应的个数比k大,就往大了找,否则往小里找,对于边界问题,要加一些特判。 ...
分类:
其他好文 时间:
2017-08-23 10:45:38
阅读次数:
129
http://blog.csdn.net/qq_27703417/article/details/70980063 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路: 方法一:关键是理解题目要求的意思。将二叉搜索树转变为排序的双 ...
分类:
其他好文 时间:
2017-08-22 16:13:59
阅读次数:
159
http://blog.csdn.net/qq_27703417/article/details/70979511 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路:这里的第k大结点就是指按从小到大 ...
分类:
其他好文 时间:
2017-08-22 16:11:44
阅读次数:
106