算法
数据轨迹
这个作者很懒,什么都没留下…
展开
-
不使用*、/、+、-、%操作符求一个数的1/3
摘要:算法一直是程序员进阶的一道龙门,通常算法都是为了更高效地解决问题而创造的,但也有的只是出于学术性,并不在意其实际意义。这是近日在国外技术问答网站stackoverflow的一个热门问题,不知道你能给出几种解决方法?导读:算法一直是程序员进阶的一道龙门,通常算法都是为了更高效地解决问题而创造的,但也有的只是出于学术性,并不在意其实际意义。这是近日在国外技术问答网站stackover转载 2014-03-21 14:10:28 · 422 阅读 · 0 评论 -
字符串哈希算法比较(转载)
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对转载 2014-06-07 22:29:03 · 496 阅读 · 0 评论 -
判断两条线段是否相交(三种算法)
算法1: [cpp] view plaincopy///----------alg 1------------ struct Point { double x, y; }; bool between(double a, double X0, double X1) {转载 2014-06-11 17:07:56 · 3648 阅读 · 0 评论 -
多段线是否相交
首先引出计算几何学中一个最基本的问题:如何判断向量在的顺时针方向还是逆时针方向?把p0定为原点,p1的坐标是(x1,y1),p2的坐标是(x2,y2)。向量的叉积(cross product)实际上就是矩阵的行列式:当叉积为正时,说明在的顺时针方向上;叉积为0说明两向量共线(同向或反向)。当同时满足:(1)和在的两侧(即一个顺时针方向上,一个在逆时针方向上)转载 2014-06-12 16:44:04 · 2042 阅读 · 0 评论