BST_insert】的更多相关文章

#include <stdio.h> /* printf, scanf, NULL */ #include <stdlib.h> /* malloc, free */ struct node { int key; struct node *left, *right, *point; }; typedef struct node Node; Node *root = NULL; /* z points to a node to be insert into the tree with…
1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cstdio> using namespace std; ]; int main() { int A,B; cin>>A>>B; A+=B; ) { A=-A; cout<<"-"; } ; while(A) { a[n++]=A%; A/=; } ;…
n天 n个营业额; sum(min(abs(wi-前面))); splay维护一下就可以 #include<stdio.h> #include<algorithm> #include<math.h> using namespace std; #define inf 2000000000 int sum,time,flag,root; struct node { int fa,l,r,w; }tree[]; void rightrotate(int x) //右旋 { i…
二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树. 二叉搜索树:一棵二叉树,可以为空:如果不为空,满足以下性质: 非空左子树的所有键值小于其根结点的键值: 非空右子树的所有键值大于其根结点的键值: 左右子树都是二叉搜索树: Wiki中的定义: The left subtree of a node contains only nodes with keys less than the node's key. The right subtree of a nod…
首先声明,本教程的对象是完全没有接触过splay的OIer,大牛请右上角.. 首先引入一下splay的概念,他的中文名是伸展树,意思差不多就是可以随意翻转的二叉树 PS:百度百科中伸展树读作:BoGang,不知道是不是因为和某位大牛有关系 先看一道题目: skydec有n个数,每次他都会把一些数放进一些盒子里,由于skydec太傻×,所以他不能判断数的大小,现在他请求你帮他求盒子里的第K小数 输入:一个数n表示数的个数,一个数m表示操作的个数 (n<=m<=100000) 操作由2部分组成,简…
动态查找表包括二叉排序树和二叉平衡树. 二叉排序树:也叫二叉搜索树,它或是一颗空树,或是具有以下性质的二叉树: ①若左子树不空,则左子树上所有结点的值均小于它的根结点的值: ②若右子树不空,则右子树上所有结点的值均大于它的根结点的值: ③它的左右子树也是二叉排序树. 由此可得,对二叉排序树进行中序遍历可以得到一个递增的有序数列. 二叉排序树的查找:将关键字与根结点相比较 typedef struct BiTNode{ //二叉排序树结点结构 int data; //结点数据 struct BiT…
最近研究一下二叉树排序问题,找到的资料还真是五花八门,说得也是千奇百怪. 分析一下原因,还是因为数的特性,造成结果的不唯一性造成的大家看了很多,似乎都有理,好像明白了,一综合又糊涂了的结果. 我这里给出一个我自认为很完整,也很精简,也容易理解和应用的框架,可以方便于应用在实际工程里的代码. ———————————————————————————————————————————————————————— 排序二叉树的建立.插入.删除.查找 对于排序二叉树,其创建.插入和查找的算法差不多:小了往左,…
数组中重复的数字 二维数组中查找 字符串 替换空格 二叉树的编码和解码 从尾到头打印链表 重建二叉树 二叉树的下一个节点 2个栈实现队列 斐波那契数列 旋转数字 矩阵中的路径 机器人的运动范围 剪绳子 二进制表示中1的个数 数值的整数次方 打印1到最大的n位数 在O(1)时间删除链表结点 删除链表中重复的结点 正则表达式匹配 表示数值的字符串 调整数组顺序使奇数位于偶数前面 链表中倒数第k个结点 一个链表中包含环,如何找出环的入口结点 反转链表 合并两个排序链表 输入两棵二叉树A,B,判断B是不…
1. 求深度: recursive 遍历左右子树,递归跳出时每次加一. int maxDepth(node * root) { if(roor==NULL) return 0; int leftdepth=maxDepth(root->leftchild); int rightdepth=maxDepth(root->rightchild); if(leftdepth>=rightdepth) return leftdepth+1; else return rightdepth+1; }…
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-chil…