一棵树是N个节点和N-1条边的集合。因为,每条边都将某个节点连接到它的父亲,而除去根节点外每一个节点都有一个父亲。
二叉树:每个节点都不能有多于两个的儿子。深度平均值为O(logN)。
使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。
在程序中,一定要记得处理的根节点为空的情况。除了删...
分类:
其他好文 时间:
2014-07-22 23:05:15
阅读次数:
231
题目连接:Codeforces 413D 2048
题目大意:2048的游戏,两个相同的数x可以变成一个2*x,先给出n,表示在一个1*n的矩阵上面玩2048,规定每次向左移动,并且每次出现一个,给出序列n,表示出现的块的值,0表示既可以是2也可以是4,问说有多少种可能,使得游戏结束后的最大块的值大于等于2^k。
解题思路:dp[i][j][x]表示第i个位置,值为j,x表示先...
分类:
其他好文 时间:
2014-07-22 23:02:13
阅读次数:
254
查询数据库中第五条数据到第十条数据,分两种情况:
1,ID是连接的,当然这种情况比较好查。直接SELECT就可以了,取ID大于5小于10就可以了,
这种情况比较少。
2,ID不是连接的,如果要取第五条数据到第十条数据,就得从SQL查询SELECT着手
select top 10 * from TB1 where Id not in (select top 5 Id ...
分类:
数据库 时间:
2014-05-02 22:58:20
阅读次数:
597
程序自动产生随机数(srand 设置种子为系统时间,以保证每次运行程序产生的随机数有差别
),然后用户输入结果,程序判断用户输入是否正确减法运算时要保证随机产生的a要大于b(用while循环判断,当然前提条件是用户选择的为减法运算,这里只保证式子产生的结果为非负整数)。#include
#inclu...
分类:
其他好文 时间:
2014-05-01 23:59:45
阅读次数:
499
题目/** * compareTo:根据该数值是小于、等于、或大于 val 返回 -1、0 或
1; public int compareTo(BigInteger val) 将此 BigInteger 与指定的 BigInteger
进行比较。 对于针对六个布尔比较运算符 (, >=, !=, ....
分类:
编程语言 时间:
2014-05-01 20:53:42
阅读次数:
448
题目题意:给m个数字, q次询问, 询问b到e之间如果有重复数字就输出,
没有就输出OK思路:用f[i]数组 记录从i开始向后最近的有重复数字的 位置, 如 1 3 2 2, 则f[1] = 4;如果离a最近的重复数字的位置
都大于b, 就说明没有重复数字。f[]数组需要预处理,从后向前。 1 #i...
分类:
其他好文 时间:
2014-05-01 19:28:39
阅读次数:
286
代理模式与装饰器模式的区别,主要大于,从使用者(客户端)的角度来看的://装饰器的客户public class Client{ public static
void main(String[] args){ //客户指定了装饰者需要装饰的是哪一个类 ...
分类:
其他好文 时间:
2014-05-01 18:47:25
阅读次数:
354
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;...
分类:
其他好文 时间:
2014-04-30 22:44:38
阅读次数:
501
大数乘法的步骤(先戳我看看大数加法的思想):
首先是输入2个数据,并且逆序,还要去掉前导0。比较大小:
相等的话,结果为0。前者大于后者,则直接进行减法运算。前者小于后者,则用后者减去前者,最后在结果前面添上负号。
从最高位开始输出结果。
#include
#include
#define MAX 1000
using namespace std;
void InputNu...
分类:
其他好文 时间:
2014-04-30 22:17:40
阅读次数:
231
前序:
(二叉)堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。
树的每一层都是填满的,最后一层除外。
树的根为a[1] (在这里是从1开始的,也可以从0开始),给定了某个节点的下标i,其父节点为i/2,左二子为2*i,右儿子为2*i+1。
二叉堆满足二个特性:
1.父结点的键值总是大于或等于(小于或等于)任何一个...
分类:
其他好文 时间:
2014-04-30 22:15:38
阅读次数:
434