- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 面试记录
【1】不用乘法和除法操作符(*、/),实现两个整数的相除思路:转换为减法操作,简单举例5/2,找到2的小于5的最大倍数4=2*2,5-4=1;1int myDiv_2(unsigned int a,unsigned int b){ unsigned int x,y; int ans=0; while(a=b){ x=b; y=1;
2016-07-29 15:53:27 347
原创 字符串匹配算法之KMP
KMP 算法说起字符串查找,大家肯定能理解朴素的查法,就是以 S 每个字符为开头与 W 比较。O(m*n)这种方法是基于回溯,但是这种回溯每次出现不匹配就要重头比较,没能很好的利用不匹配点之前已经进行的匹配比较,有很多回溯点可以直接判断是不可能匹配成功的,因此KMP变基于对子串的提前分析,在子串的位置j出现不匹配时,直接获得子串后移长度,减少了不必要的回溯,其效率可达到性O(m+n
2016-07-15 21:26:59 331
原创 BK树
1.BK树http://blog.jobbole.com/78811/2.基数估计http://blog.jobbole.com/78255/3.喷泉码http://blog.jobbole.com/78841/4.同型哈希http://blog.jobbole.com/80159/5.Levenshtein自动机http://blog.jobb
2016-07-11 16:30:49 2958
原创 模板类的使用注意事项
组织模板代码有三种方式1.包含模型(常规写法 将实现写在头文件中)2.显式实例化(实现写在cpp文件中,使用template class语法进行显式实例化)3.分离模型(使用C++ export关键字声明导出)第三种方式理论最优,但是实际从C++标准提出之后主流编译器没有支持过,并且在最新的C++11标准中已经废除此特性,export关键字保留待用。头文件定义:
2016-07-06 20:45:37 2501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人