码迷,mamicode.com
首页 >  
搜索关键字:伸展树 splay 数据结构    ( 38497个结果
hashMap的具体实现
HashMap是Java中的一个重要的数据结构!与HashMap更重要的一个数据结构是HashTable,其中最重要的区别是HashTable传说中是线程安全的(之所以说他是传说是因为我并没有去理解为什么,这是我的错,没有理解就搬上了讲台!)HashMap的内部结构很简单,如下(图片来自import...
分类:其他好文   时间:2014-05-14 03:44:24    阅读次数:298
经典算法宝典——动态规划思想(六)(2)
动态规划的核心是状态和状态转移方程。01背包问题是最基本的背包问题,它包含了背包问题中状态、方程的最基本思想,另外,别的类型的背包问题往往也可以转换成01背包问题求解。...
分类:其他好文   时间:2014-05-14 00:40:03    阅读次数:276
数据结构-概述(1)
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。               数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。   通常有下列四类基本的结构: ⑴集合结构。...
分类:其他好文   时间:2014-05-13 09:35:22    阅读次数:314
python数据结构与算法 38 分析树
分析树 树的结构完成以后,该是时候看看它能做点什么实事儿了。这一节里,我们研究一下分析树。分析树能够用于真实世界的结构表示,象语法或数学表达式一类的。 图1 一个简单语句的分析树 图1所示是一个简单语句的层级结构,把语句表示为树结构可以让我们用子树来分析句子的组成部分。 图2 ((7+3)?(5?2))的分析树 我们也可以把数学表达式如((7+3...
分类:编程语言   时间:2014-05-13 06:14:20    阅读次数:691
C语言优化实例:消除多级指针的间接访问
如果一个多层次的数据结构达到两级或者两级以上,举例如下: 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版的Link Cut Tree2
试了一下先上再下的Treap方式,很高兴,代码变短了,但是,跑的变慢了!!!其实慢得不多,5%左右。而且这个版本的写法不容易写错。。只要会一般可持久化Treap的人写着都不难。。。就是相对于(压行的)Splay还是长了点。。。 代码: 1 #include 2 #include 3 ...
分类:其他好文   时间:2014-05-12 20:56:42    阅读次数:480
脑洞大开加偏执人格——可持久化treap版的Link Cut Tree
一直没有点动态树这个科技树,因为听说只能用Splay,用Treap的话多一个log。有一天脑洞大开,想到也许Treap也能从底向上Split。仔细思考了一下,发现翻转标记不好写,再仔细思考了一下,发现还是可以写的,只需要实时交换答案二元组里的两棵树,最后在吧提出来的访问节点放回去就行了。本着只学.....
分类:其他好文   时间:2014-05-11 22:56:42    阅读次数:605
Linux环境编程之文件I/O(四):文件I/O的数据结构
(一) Linux系统支持不同进程间共享打开的文件。...
分类:系统相关   时间:2014-05-11 21:50:56    阅读次数:417
SPOJ 4487. Can you answer these queries VI splay
题目链接:点击打开链接 题意比较明显,不赘述。 删除时可以把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
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!