分治法求最近点对问题,要求:1. 对于平面上给定的N个点,给出所有点对的最短距离,即,输入是平面上的N个点,输出是N点中具有最短距离的两点。 2. 要求随机生成N个点的平面坐标,应用蛮力法编程计算出所有点对的最短距离。 3. 要求随机生成N个点的平面坐标,应用分治法编程计算出所有点对的最短距离。 4. 分别对N=100,1000,10000,100000,统计算法运行时间,比较理论效率与实测效率的差异,同时对蛮力法和分治法的算法效率进行分析和比较。 5. 如果能将算法执行过程利用图形界面输出,可获加分。
2021-10-12 09:28:47 158KB 最近点对问题
1
算法设计实验报告,包括:分治法和蛮力法求最近对问题的基本思想、时间复杂度分析,C++实现代码,两种算法运行时间的比较,运行结果截图,实验心得。
2021-10-12 08:34:58 109KB 分治法 蛮力法 最近对问题 c++代码
1
热心学姐来送福利啦哈哈哈哈哈哈哈哈哈哈哈哈哈,西北农林科技大学的算法分析实验报告,
1
大整数乘法 实验描述:给定X和Y都是n位整数,计算乘积XY。分治算法思想,将n位X和Y分成2段,每段n/2位。则X分为AB两段,Y分为CD两段。 有X=A*(10)^(n/2)+B,Y=C*(10)^(n/2)+D;XY=(A*(10)^(n/2)+B)(C*(10)^(n/2)+D)=AC*(10)^n+(AD+BC)*(10)^(n/2)+BD。 证明及详细分析参见教材16页。 编程任务: 给定两个数X和Y,打印出X和Y采用分治法计算X*Y过程中,拆分的ABCD四个部分的值,和最终的计算结果。 Input 输入为两个整数X,Y Output 采用分治法求解过程中计算的ABCD的值,和最终X*Y的结果 输出结果中间有空格 Sample Input 12 12 Sample Output 1 2 1 2 12 * 12 = 144
2021-10-11 10:40:31 985B 大整数乘法
1
(1)设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数,设计一个算法复杂度为O(logn)的分治算法,找出X和Y中2n个数中的中位数。(中位数:个数为奇数:中间位置上的数;个数为偶数,中间两个数的平均数) 思路:对于两个已排好序的数组,可以寻找两个数组中的中位数,只需要进行n次的比较,时间复杂度可以为O(n),代码如下
2021-10-10 19:17:58 2KB 教材 C++ 分治
1
在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 当k>0时,将2k×2k棋盘分割为4个2k-1×2k-1 子棋盘,特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘1×1。 已在VS2008上调试通过,使用C++语言
2021-10-10 19:02:43 2KB 棋盘覆盖问题
1
C++ 分治法解决邮局选址问题 包含了代码、算法分析、测试文件和结果,非常详尽,值得拥有!
2021-10-10 12:06:52 291KB C++ 算法设计与分
1
此课件是为了我的博客中写的那篇利用分治法实现大整数乘法而为大家上传的预习课件,感兴趣的朋友可以到我的CSDN博客(http://blog.csdn.net/zhanghua1816)算法设计与分析模块查看完整的利用分治法实现大整数乘法的源代码,希望对你有用!
2021-10-09 11:09:08 643KB 分治法 大整数乘法
1
分治算法解决邮局选址问题,用C++编写,里面有注释,有数据文件
2021-10-08 18:00:37 5KB fenzhi
1
利用分治法求解矩阵乘法,可以使复杂度降低
2021-10-08 17:43:34 3KB 矩阵乘法 分治法 C语言
1