前言
RMQ: 数组 a0, a1, a2,..., an-1, 中求任意区间 a[i+1], a[i+2], ..., a[i+k] 的最小值
LCA: 求二叉树中两个节点的最低公共祖先
本文将证明这两个问题可以相互归约为另一个问题。
证明
先通过一个简单的例子来说明问题。见下图:
求 [7 2 8 6] 的最小值...
分类:
其他好文 时间:
2014-07-22 23:01:35
阅读次数:
271
G - 程序设计竞赛Time Limit: 3000/1000MS (Java/Others)
Memory Limit: 65535/65535KB
(Java/Others)SubmitStatus“你动规无力,图论不稳,数据结构松散,贪心迟钝,没一样像样的,就你还想和我同台竞技,做你的美梦!....
分类:
其他好文 时间:
2014-07-22 23:01:13
阅读次数:
415
标准库函数1算数运算stdlib.h2随机数stdlib.h3字符串转化stdlib.h4数学函数
math.h5日期和时间 time.h6信号 signal.h7打印可变参数列表stdarg.h8断言
assert.h抽象数据类型在数据结构中比较仔细运行时环境没看来自为知笔记(Wiz)
分类:
其他好文 时间:
2014-05-01 19:06:09
阅读次数:
305
哈哈,斯则表示的运算,非常经典的一个题目。哈哈,大家可以参考下,不过代码可能还包含错误,不过主线应该没有错误......
分类:
其他好文 时间:
2014-04-30 22:47:38
阅读次数:
232
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;...
分类:
其他好文 时间:
2014-04-30 22:44:38
阅读次数:
501
前序:
(二叉)堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。
树的每一层都是填满的,最后一层除外。
树的根为a[1] (在这里是从1开始的,也可以从0开始),给定了某个节点的下标i,其父节点为i/2,左二子为2*i,右儿子为2*i+1。
二叉堆满足二个特性:
1.父结点的键值总是大于或等于(小于或等于)任何一个...
分类:
其他好文 时间:
2014-04-30 22:15:38
阅读次数:
434
Splay 树的比较基本的序列维护操作, 用getSeg( int l, int r) 获取要操作的区间
若:获取区间[l,r],非空,getSeg(l,r),然后KT指向区间[l,r]
若:获取区间为空,如当要在l位置插入一个值时,则getSeg(l,l-2),然后可在KT赋值新节点
D. Cup Trick
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-04-30 22:14:40
阅读次数:
326
在机器学习(Machine learning)领域,主要有三类不同的学习方法:
监督学习(Supervised learning)、
非监督学习(Unsupervised learning)、
半监督学习(Semi-supervised learning),
监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。
非监督学习:直接...
分类:
其他好文 时间:
2014-04-30 22:12:38
阅读次数:
297
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。
本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。...
分类:
编程语言 时间:
2014-04-30 22:11:39
阅读次数:
356