随笔分类 - Algorithm & da
摘要:转自:http://www.matrix67.com/blog/archives/105 总结 P:能用多项式时间求解的问题NP:能用多项式时间验证的问题(但不知道能不能用多项式时间求解)。存在不属于NP类的问题,如:是否不存在哈密顿回路,此问题无法多项式时间验证,因为要验证所有解才能确定,而验证所
阅读全文
摘要:转自http://blog.csdn.net/bone_ace/article/details/46239187
阅读全文
摘要:一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 是连续的内存区域。 2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能
阅读全文
摘要:1、球面半正矢公式 来源:维基百科 http://en.wikipedia.org/wiki/Haversine_formula 1.1、代码 1.2、优化 将经纬度坐标转三维坐标减少三角函数计算 经纬度坐标转三维直角坐标系坐标(将地球看成圆): x = Math.cos(lat) Math.cos
阅读全文
摘要:有如下游戏:n个人围成一圈,编号为0~n-1,从编号为0的数起,数到编号为m-1者(即数了m个人)剔除,接着从紧接的下一个人从0继续数,以此轮之,最后剩下的那个为胜利者,求其编号。 注:若编号是从1起的,则下面的公式中求模前判断下当值比n大才 mod n 即可。 结果与问题规模n有关: f(n)=(
阅读全文
摘要:见 数据结构_排序总结-MarchOn 稳定性: 注:相等元素不交换 稳定:冒泡、插入、归并、基数 不稳定:选择、快速、堆、希尔 实现: 希尔排序: 快速排序: (这里提供四个实现,前两个实现以首元素为枢纽元,后两个实现可以指定枢纽元的位置,前两个实现可以看做是后两个实现的特例) 1 void sw
阅读全文