随笔分类 - 算法
摘要:BloomFilter介绍 布鲁姆过滤器的结构 一个存储01串的连续空间,多个哈希函数 布鲁姆过滤器是啥 布鲁姆过滤器是一种特殊的哈希表,这个哈希表中的每一个槽只存储0或1,所以可以使用计算机中的最小单位 来存储每一个01以达到空间的极大节省。在数据集非常大的条件下进行某个数据对象A的查找即使是利用
        阅读全文
                
摘要:堆排序 由于堆排序是一种非常漂亮的排序,是算法与数据结构结合的典例,所以单独拿出来说说哈。 什么是堆 以最大值堆(大根堆)为例。大根堆是一棵 完全二叉树 ,且二叉树上每一个节点R有:R的关键码大于等于其两个直接孩子的关键码。简而言之堆是一种 局部有序 的完全二叉树。由于堆是完全二叉树,所以利用 数组
        阅读全文
                
摘要:对回溯的理解 回溯法的大致意思是这样的: 问题的解往往是树状伸展,能够使用一个 树形结构 来表示解空间,我称之为解空间树吧,那么解出问题的解的过程就是走完一条 根到叶子的路径 的过程。这个树的每一层都代表一个状态,该层的节点可以看作是此状态下的一个选择,可以触发下一层的状态。回溯法从解空间树的根节点
        阅读全文
                
摘要:什么是哈希表 哈希表本质上就是一个用于存放记录的 数组 ,只不过访问这个数组不是简单地通过下标,而是利用要查询对象的某个 特征值 通过 散列函数 来映射成数组的下标,接着下标查询数组中的值。充分地利用了 数组下标查询的高效性 ,所以若散列函数的设计好,那么就可能可以达到$O(1)$的时间复杂度。 哈
        阅读全文
                
摘要:以下的排序都以按数值大小 升序 为最终的排序目标 1 冒泡排序 非常暴力且直接的思路,每个元素两两比较,直到所有元素都放在了正确的位置。 实际上达到的效果是每一趟循环都把一个当前最小的元素(或最大的元素)放到了正确位置。 c++ for (int i = 0; i = i; j) { if (arr
        阅读全文
                
摘要:Introduction 最大流问题就是求出一个可行流量使得从 单源点 到 单汇点 的流网络中流量最大。 且满足如下约束: 流过边$e$的流量不超过$e$的容量$capacity$ 对于每一个顶点$node_{\neq source,sink} \quad incoming flow=outgoin
        阅读全文
                
摘要:What is Difference Constrains System? 差分约束系统: $V$为系统中的变量集合 $C$为系统中约束集合,即一组不等式,每一条约束的形式如 $x_i x_j \leq b_{i,j}$, $x_i,x_j \in V, b_{i,j} \in R$ 写成矩阵的形式
        阅读全文
                
摘要:之前由于觉得博客写起来没有笔记方便,所以停了很久。 最近开始使用markdown来写博客,感觉挺清爽,又要开始增产啦~ Johnson's Algorithm = Bellman Ford + Dijkstra 若是仅仅使用$|V|$次Dijkstra算法跑完全图可以求得最短路径,时间复杂度$(V^
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号