----------------------android培训、java培训、期待与您交流! ----------------------
一、实验目的和要求
(1)进一步掌握递归算法的设计思想以及递归程序的调试技术;
(2)理解这样一个观点:分治与递归经常同时应用在算法设计之中。
(3)分别用蛮力法和分治法求解最近对问题;
(4)分析算法的时间性能,设计实验程序验证分析结论。
二、实验内容
设p1=(x1, y1), p2=(x2, y2), …, pn=(xn, yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。
三、实验环境
MyEclipse 5.5.1 GA
java
四、实验原理
1、蛮力法(适用于点的数目比较小的情况下)
1)算法描述:已知集合S中有n个点,一共可以组成n(n-1)/2对点对,蛮力法就是对这n(n-1)/2对点对逐对进行距离计算,通过循环求得点集中的最近点对
2)算法时间复杂度:算法一共要执行 n(n-1)/2次循环,因此算法复杂度为O(n2)
2、分治法
1)算法描述:已知集合S中有n个点,分治

该博客探讨了如何利用递归和分治法设计一个时间复杂度为O(nlgn)的算法来解决平面上n个点的最近点对问题,对比了蛮力法的O(n^2)复杂度,并在MyEclipse环境中进行了实现和性能分析。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



