
总结
文章平均质量分 83
mrh929
这个作者很懒,什么都没留下…
展开
-
离散hash优化总结
离散优化总结离散优化是一种常见的高效数据结构,它通过建立数据与存储结构(数组)之间(不一定)一一对应的映射关系来达到对复杂数据的优化。离散优化最重要的一点是建立映射,对于特殊的线段、点而言,这些映射可以是对一个区间的映射,即将某段线或者某块区域映射到数组里面去,从而在计算时降低时间复杂度。Hash优化:是对于字符串和数字的一种优化方式。它通过将数据映射到数组内的某个元素从而原创 2016-07-26 21:24:58 · 4294 阅读 · 1 评论 -
SBT总结
SBT节点大小平衡树总结SBT是二叉查找树的优化。与二叉平衡树AVL类似,我们定义一棵树:这棵树的size为这棵树所有节点的个数每棵子树的大小不小于其兄弟的子树大小即s[right[t]]≥s[left[left[t]]],s[right[left[t]]]且 s[left[t]]≥s[right[right[t]]]原创 2016-08-04 21:44:17 · 647 阅读 · 0 评论 -
求最大网络流(最小割)总结
求最大网络流总结 一个有向图,每条边都有最大可能的数据传输量c,要求一个点到某个点一次能传输的最大数据量,即为求最大网络流,每条边实际的数据传输量称为流量。 基本思路:使用贪心算法,每次找出能使总流量更大的边,将数据向那条边流。 Ford-fulkerson算法读入所有有向边,并且加入流量为0的反向原创 2016-07-20 21:07:56 · 1924 阅读 · 1 评论 -
字典树总结
字典树总结在实际生活中,图书馆、书店都会遇到一种麻烦,就是不知道如何储存所有的书名,因为藏书实在是太多了。这种情形非常常见。由此单词查找树便出现了:Trie树,是一种树形结构,是一种哈希树的变种,它通过储存大部分字符串的前缀来达到不仅是存储空间而且是查找效率的优化。字典树的操作大致分为三种:插入字符串、查找字符串、删除字符串。 首先我们要构造一棵原创 2016-07-31 20:25:37 · 624 阅读 · 1 评论 -
树状数组总结
树状数组总结树状数组是一个类似于线段树的树状结构,它通过存储一定区间内的元素来达到快速插入、快速求和的效果。并且可以节省时间,节省空间,减少代码量,可谓是非常优秀的一个树形结构方格中数字代表对应数组的第几个元素,下排是a数组,其上方的是e数组,最下的二进制则是对应编号的二进制表示.可以观察到,树状数组把一个数组内的元素进行了一定的二分,并存储某些元素的和原创 2016-08-03 21:03:52 · 977 阅读 · 0 评论 -
Tarjan算法求无向图割边割点、最近公共祖先的总结
无向图tarjan求割边割点、最近公共祖先总结割点:删除这个点之后整个图变成不连通的两个部分的点割点集合:在一个无向图中删除该集合中的所有点,能使原图变成互不相连的连通块的点的集合点连通度:最小割点集合点数割边(桥):类似于割点,删除一条边后会使一个连通图变得不完全连通割边集合:所有割边的集合边连通度:最小割边集合边数 与原创 2016-07-19 19:49:27 · 2536 阅读 · 1 评论 -
树形动态规划总结
树形动规总结树型动规的基本方式同普通的线性动态规划,但遍历的顺序是由高深度向低深度直至根节点,通常一个树型动规包括了状态、阶段、决策、状态转移方程,找到每个题目对应的动归要素,是一个题目的难点所在。状态:程序求解到每个程度所储存的信息,通常我们需要在一开始找到适合题目的状态并进行定义。Tips:找状态可以通过确定变量,权衡变量的范围来寻找。阶段:原创 2016-07-29 19:24:20 · 1042 阅读 · 1 评论 -
字符串hash,康托展开总结
字符串hash,康托展开总结各种字符串hash函数:ELF HashBKDRHashAPHashDJBHashJSHashRSHashSDBMHashPJWHashELFHash 字符串hash之BKDRhash函数有研究表明BKDRhash函数冲突率较低,且变成复杂度低,所以可以用来作为常用hash函数Has原创 2016-07-27 21:35:20 · 1267 阅读 · 1 评论 -
可并堆之左偏树总结
可并堆之左偏树总结左偏树,顾名思义,是左边的结点权值较大的树形数据结构。主要用于两个优先队列的快速合并,是可并堆的一种实现方式。定义与性质:外结点:一个结点的右子结点为空就为外结点距离:结点一直向右,直到外结点所经历的步数,每个结点距离等于右儿子的距离+1。左偏树的父亲结点的优先级高于儿子结点父亲结点的左子节点的距原创 2016-07-28 21:50:02 · 994 阅读 · 1 评论 -
Tarjan算法求强连通分量总结
Tarjan算法求强连通分量总结首先明确强连通分量的概念:如果图中的任意两个点都能互相到达,则为强连通分量。极大强连通分量:不被其它任何强连通分量包含的强连通分量。强连通分量主要与两种边有关:交叉边和后向边。交叉边是两个无关系的点之间所构成的,而后向边是根节点的子节点指向根结点的一种边Tarjan算法原理:建立low数组原创 2016-07-18 19:12:21 · 1579 阅读 · 1 评论 -
暑假测试一总结
暑期测试一 数学作业(homework.cpp)【问题描述】求:方程x1+2x2+„+nxn=m的所有非负整数解(x1,x2,„,xn)的个数。例如,方程:x1+2x2+3x3+4x4+5x5=5有7组解:(5,0,0,0,0)、(3,1,0 ,0,0)、……、(0,0,0,0,1)。 【输入数据】(homewor原创 2016-07-14 20:40:29 · 766 阅读 · 1 评论 -
拓扑排序以及关键路径总结
拓扑排序以及关键路径的总结 拓扑排序:首先纠正一个读音问题:拓扑(tuopu)话说我好几次都读成(tabu) (tuobu)好吗! 拓扑排序是针对AOV图(即有向无边图,且图中不允许环的存在)的一种排序算法,它用于将一个AOV图按照顺序排成线性序列 基本操作如下:原创 2016-07-17 20:08:29 · 2398 阅读 · 2 评论 -
最小生成树总结
今天学到了最小生成树算法中的Prim算法和Kruskal算法。原创 2016-07-15 17:17:34 · 679 阅读 · 1 评论 -
线段树总结
线段树总结引入:有一个数组data[1000000],如果有m个操作(m,操作如下:修改一个数(加或减)求l到r的所有元素的和 对于通常的题目,用一个sum[i]数组记录1~i的和,即可将任何的区间和在O(1)的时间之内求出。然而对于操作一,显然就显得很耗时间,至少会花费O(n),由此可以看出这样的做法是有一定缺陷的,由此线段原创 2016-08-01 20:54:56 · 633 阅读 · 0 评论