随笔分类 - Data Structure and Algorithm
摘要:思路: 1.1-9 有9 位数,10-99 有180 位。因此我们首先找到这个位数是几位数。 2.在找到这个数, 3.确定这个数的第几位是我们要找的。 代码:
阅读全文
摘要:方法1.在x轴[-1, 1],y轴[-1, 1]的正方形内随机选取一点。然后判断此点是否在圆内(通过计算此点到圆心的距离)。如果在圆内,则此点即为所求;如果不在,则重新选取直到找到为止。正方形的面积为4,圆的面积为pi,所以正方形内的随机点在圆内的概率是 pi / 4。 方法2.从[0, 2*pi)
阅读全文
摘要:这段程序主要用于比较sdk的版本号,例如 8.9.1 和8.9.0,8.9.1和8.7的比较。
阅读全文
摘要:From: http://blog.csdn.net/cyxlzzs/article/details/7416491
阅读全文
摘要:递归+回溯法求解
阅读全文
摘要:注意: 在将指向明确的内存空间的地址赋给指针变量前,不要对指针变量指向的内存空间的内容做任何修改,因为不确定它到底指向哪。
阅读全文
摘要:斐波那契查找是一种在有序表中高效查找指定元素的算法,比折半查找要复杂一些,主要复杂在要多做不少准备工作。下面看它的工作流程: 1.计算并保存一个斐波那契序列的数组,方便以后取值。数组名记为f,例如f[1]=1,f[2]=1,f[3]=2,f[4]=3,f[5]=5,f[6]=8,f[7]=13,f[
阅读全文
摘要:算法介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想 通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合
阅读全文
摘要:先构造一个只含 n 个顶点、而边集为空的子图,把子图中各个顶点看成各棵树上的根结点,之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,即把两棵树合成一棵树,反之,若该条边的两个顶点已落在同一棵树上,则不可 取,而应该取下一条权值最小的边再试之。依次类推,直
阅读全文
摘要:MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法,Prim算法就是其中之一,它是从点 的方面考 虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到 V中任意一点的权值最小
阅读全文
摘要:用贪心算法解决马踏棋盘问题时,主要的思想与用递归的方法解决该问题相同,都是用深度优先搜索,只是在选下一个结点的时候做了贪心算法优化,其思路如下: 从起始点开始,根据“马”的走法,它的下一步的可选择数是有0—8个的。 已知,当马下一步的可选择数为0的时候(即马没有下一个节点可跳),进行回溯。当下一步的
阅读全文
posted @ 2017-06-29 16:51
Allen101
摘要:r为矩阵的行,c为矩阵的列 将结果输出到当前目录下的results.txt。 结果将给出:1.是否存在路径使马可以按要求走遍所有的方格; 2.解的总数; 3.程序执行的时间; 代码中有哪些不正确的地方欢迎大家指正。
阅读全文

浙公网安备 33010602011771号