HashMap是Java中的一个重要的数据结构!与HashMap更重要的一个数据结构是HashTable,其中最重要的区别是HashTable传说中是线程安全的(之所以说他是传说是因为我并没有去理解为什么,这是我的错,没有理解就搬上了讲台!)HashMap的内部结构很简单,如下(图片来自import...
分类:
其他好文 时间:
2014-05-14 03:44:24
阅读次数:
298
动态规划的核心是状态和状态转移方程。01背包问题是最基本的背包问题,它包含了背包问题中状态、方程的最基本思想,另外,别的类型的背包问题往往也可以转换成01背包问题求解。...
分类:
其他好文 时间:
2014-05-14 00:40:03
阅读次数:
276
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
通常有下列四类基本的结构:
⑴集合结构。...
分类:
其他好文 时间:
2014-05-13 09:35:22
阅读次数:
314
分析树
树的结构完成以后,该是时候看看它能做点什么实事儿了。这一节里,我们研究一下分析树。分析树能够用于真实世界的结构表示,象语法或数学表达式一类的。
图1
一个简单语句的分析树
图1所示是一个简单语句的层级结构,把语句表示为树结构可以让我们用子树来分析句子的组成部分。
图2 ((7+3)?(5?2))的分析树
我们也可以把数学表达式如((7+3...
分类:
编程语言 时间:
2014-05-13 06:14:20
阅读次数:
691
如果一个多层次的数据结构达到两级或者两级以上,举例如下:
struct A{
int array_member[100];
//其他数据成员
};
struct B{
struct A *a_ptr;
//其他数据成员
}
那么通过B类型的指针b_ptr访问A类型的array_member的某一个元素array_member[0]则需要使用b_...
分类:
编程语言 时间:
2014-05-13 06:00:59
阅读次数:
270
本段程序主要利用数据结构栈的先进后出特点,实现回溯求解迷宫路径问题。
#include
#include
using namespace std;
//坐标类
struct Point
{
int x;
int y;
};
//地图类
template
struct Map
{
int (*p)[A];
int row;//行数
int col;//列数
};
//start起始点, ...
分类:
其他好文 时间:
2014-05-13 05:25:02
阅读次数:
478
试了一下先上再下的Treap方式,很高兴,代码变短了,但是,跑的变慢了!!!其实慢得不多,5%左右。而且这个版本的写法不容易写错。。只要会一般可持久化Treap的人写着都不难。。。就是相对于(压行的)Splay还是长了点。。。
代码: 1 #include 2 #include 3 ...
分类:
其他好文 时间:
2014-05-12 20:56:42
阅读次数:
480
一直没有点动态树这个科技树,因为听说只能用Splay,用Treap的话多一个log。有一天脑洞大开,想到也许Treap也能从底向上Split。仔细思考了一下,发现翻转标记不好写,再仔细思考了一下,发现还是可以写的,只需要实时交换答案二元组里的两棵树,最后在吧提出来的访问节点放回去就行了。本着只学.....
分类:
其他好文 时间:
2014-05-11 22:56:42
阅读次数:
605
(一)
Linux系统支持不同进程间共享打开的文件。...
分类:
系统相关 时间:
2014-05-11 21:50:56
阅读次数:
417
题目链接:点击打开链接
题意比较明显,不赘述。
删除时可以把i-1转到根,把i+1转到根下
则i点就在 根右子树 的左子树,且只有i这一个 点
#include
#include
#include
#include
using namespace std;
#define N 300500
#define inf 10000000
#define L(x) tree[x].ch[0]
#d...
分类:
其他好文 时间:
2014-05-11 21:05:52
阅读次数:
365