随笔分类 - Algorithm & da
摘要:用于在大数据场景下快速查找(常数时间复杂度)某个元素是否在元素集合中出现的技术,允许有误判情况出现。典型应用场景是允许小概率误判的场景,比如邮箱中的垃圾邮件标记。从功能上来说与HashMap/HashSet、BitSet类似且查找效率都很高,但有区别,见下文分析。 技术演化过程: 要判断一个元素是否
阅读全文
摘要:转自:二进制与三进制趣题 以下是全文: 1. 小明是个卖苹果的,小红一次在小明那买N(N<1024)个苹果。小明每次都要数N个苹果给小红,唉,太麻烦了。于是小明想出了一种方法:他把苹果分在10个袋子中,则无论小红来买多少个苹果,则他都可以整袋整袋的拿给小红。问怎样分配苹果到各个袋子? 2. 有16种
阅读全文
摘要:转自:大白话解析模拟退火算法 总结:模拟退火算法(SA,Simulated Annealing)是为了解决一些算法(如贪心算法)存在的陷入局部最优解的问题,其核心思想是在根据评价函数(如路径长度、距离等)靠近更优解的过程中也以一定的概率接受向非更优解靠近,以期跳出局部最优解。此“一定的概率”计算借鉴
阅读全文
摘要:一、Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就 不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议
阅读全文
摘要:1、Trie树 Trie树即字典树或前缀树, 2、实践 代码实践如下: 1 package cn.edu.buaa.trie; 2 3 import java.util.HashSet; 4 5 /** 6 * @author zsm 7 * @date 2016年10月25日 上午11:03:13
阅读全文
摘要:detail: 1 package cn.edu.buaa.randomSelectAlgo; 2 3 /** 4 * 等概率从n个数中随机选取m个数,概率为m/n。适用于数据能一次全读入的场景. 5 * 6 */ 7 public class Main_RamdomSelectAlgo { 8 s
阅读全文
摘要:这里以MySQL为例。 要掌握的主要内容是 索引(优劣、类型、场景)、架构和存储引擎、日志(两阶段提交等)、事务、锁、分库分表等。 1 什么是索引 数据库索引,是数据库管理系统中一个排序的数据结构。 对数据记录建立索引后,每条索引记录包含:(1)值与相应 数据记录 被索引列的值一样的键(2)相应数据
阅读全文
摘要:一致性Hash算法,用于解决分布式系统中数据分布的问题,做到均匀分布又在节点增减时少移动数据。 这里的“一致”是指节点增减前后已有数据的存储位置尽可能“一致”,即节点增减后原来节点上的数据尽可能不用移动。可见,与通常中“客户端缓存的数据与服务端的一致(例如Lease机制)”中的“一致”有区别。 一致
阅读全文
摘要:总结:大多是需要词频统计后求词频TopK或者求词频最大的词。解法: 若内存放得下则在内存统计词频并用堆排序; 若放不下则先用hash将大文件分成N个小文件,接着对每个小文件分别统计词频和堆排序,分别得到该小文件内的TopK并写入小文件,最后对各小文件的TopK执行堆排序得到最终的TopK。 对于内存
阅读全文
摘要:参考:http://stackoverflow.com/questions/217578/how-can-i-determine-whether-a-2d-point-is-within-a-polygon
阅读全文
摘要:1、R树及其变种:百度百科 2、R树详介:http://blog.csdn.net/jazywoo123/article/details/7792745 3、R树及变种小结 R树:叶子节点或中间节点都可能有交集。衡量指标有查询性能和更新性能,更新通过删除和插入实现。 R+树:不允许中间节点有交集,所
阅读全文
摘要:转自: Kd Tree算法原理 Kd-Tree,即K-dimensional tree,是一棵二叉树,树中存储的是一些K维数据。在一个K维数据集合上构建一棵Kd-Tree代表了对该K维数据集合构成的K维空间的一个划分,即树中的每个结点就对应了一个K维的超矩形区域(Hyperrectangle)。 —
阅读全文
摘要:支持向量机从线性可分情况下的最优分类面发展而来。思想分类:寻找类间的分类平面,使得类到该分类平面的距离尽可能大,即分类平面两侧的空白区域尽可能大。映射:通常样本数据线性不可分,可以应用固定的非线性映射(核函数)将数据映射到高维空间中,在高维空间中的线性分类等价于原始空间中的非线性分类;在高维空间中计...
阅读全文
摘要:集成学习通过从大量的特征中挑出最优的特征,并将其转化为对应的弱分类器进行分类使用,从而达到对目标进行分类的目的。核心思想它是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些若分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,...
阅读全文
摘要:准则采用一种分类形式后,就要采用准则来衡量分类的效果,最好的结果一般出现在准则函数的极值点上,因此将分类器的设计问题转化为求准则函数极值问题,即求准则函数的参数,如线性分类器中的权值向量。分类器设计准则:FIsher准则、感知机准则、最小二乘(最小均方误差)准则Fisher准则Fisher线性判别分...
阅读全文
摘要:参考文献:http://blog.csdn.net/zouxy09/article/details/8537620极大似然估计已知样本满足某种概率分布,但是其中具体的参数不清楚,极大似然估计估计就是把待估参数看做是确定性的量,只是其取值未知。最佳估计就是使得产生当前样本的概率最大下的参数值。贝叶斯估...
阅读全文
摘要:转自:http://jcf94.com/2015/06/19/2015-06-19-sbt/ 总结: 二叉查找树(或称二叉搜索树、二叉排序树):大的右边、小的左边。问题:不平衡,输入有序情况下从平均性能O(lgn)退化为O(n) 平衡树(平衡二叉查找树):通过节点的左旋、右旋操作来维护二叉查找树的平
阅读全文
摘要:转自:http://blog.csdn.net/wangxiaoqin00007/article/details/7374833 虽然网上搜索CHord,一搜一大堆,但大多讲得不太清楚明白。今天发现一篇blog,图文并茂,逻辑清楚且易懂,特意转载收藏。 P2P的一个常见问题是如何高效的定位节点,也就
阅读全文
摘要:转自:http://www.cnblogs.com/dwdxdy/p/3261742.html
阅读全文
摘要:一、一般回溯法描述•假定算法已经找到部分解为(x1, x2, …, xj), 然后再考虑向量v=(x1, x2, …, xj ,xj+1), 有下面的情况: (解向量中每个xi都属于一个有限的线序集Xi)1.如果v表示问题的最后解,算法记录下它作为一个解,在仅希望获得一个解时终止,或者继续去找出其他...
阅读全文