算法实验二 分治法 最近点对问题
分治法算法分析与设计实验二
主要内容
•
•
•
•
•实验目的主要实验仪器设备和环境实验内容实验要求注意点
实验目的
•理解分治法的基本思想
•针对特定问题,可以设计出分治算法进行求解
主要实验仪器设备和环境
•每位学生一台计算机
•计算机的操作系统为
–windows 2000或Windows XP
•工具软件
–C++ IDE,JAVA IDE
实验内容二最近点对问题•问题描述
–对于平面上给定的N个点,给出所有点对的最短距离
–即,输入是平面上的N个点,输出是N点中具有最短距离的两点
•现要求随机生成N个点的平面坐标,应用穷举法编程计算出所有点对的最短距离
•现要求随机生成N个点的平面坐标,应用分治法编程计算出所有点对的最短距离
实验要求
•编程语言可以用C,C++或者JAVA,关键步骤必须有注释
•实验报告必须包含以下内容:算法设计的基本思路、程序清单以及针对测试数据的运行结果•实验报告电子版请发至[email protected],Email标题:“学号姓名算法实验二最近点对”,附件请不要压缩,实验报告名:“学号姓名算法实验二最近点对”
注意点
•随机数的生成问题
•求解最近点对问题时的分治策略
•分解后子问题的解如何合并
编码提示
•随机数生成
–srand(time(0));//设置随机数种子
•要#include
–rand();//生成[0,MAX)之间的随机整数
•要#include
–for(inti=0;i
{
ran_num=rand() % 10;
cout
}//生成不大于10的随机整数
编码提示
•最近点对问题的分治策略
–S:平面上的二维点集合
–预处理:分别根据点的x轴和y轴坐标进行排序,得到X和Y,很显然此时X和Y中的点就是S中的点
编码提示
•Conquer
–两个递归调用,分别求出
和drSL和SR中的最短距离为dl
编码提示
•Combine–对于Y’L中的每一点,检查Y’R中的点与它的距离,
更新所获得的最近距离
相关文章
- 分治法解最接近点对问题
- 算法设计与分析基础习题参考答案
- 中南大学算法实验报告
- B5分治思想与递归算法的应用
- 计算机算法分析与设计+++论文2
- 20**年计算机算法设计与分析期终考试复习题
- 十大经典数学模型
- 快速排序实验报告
- 快速排序问题
算法分析与设计实验报告 2014-2015第一学期 实验一:用分治法解最接近点对问题 指导教师:cccc 实验时间:2014年10月28日 实验地点:计算中心二楼 班级: 计ccc 学号: 124cc08 姓名: 杨cc 成绩: 实验一 用 ...
习题 1.1 5..证明等式 gcd(m,n)=gcd(n,m mod n)对每一对正整数 m,n 都成立. Hint: 根据除法的定义不难证明: 如果 d 整除 u 和 v, 那么 d 一定能整除 u±v; 如果 d 整除 u,那么 d ...
算法分析与设计 实验报告 学院: 信息科学与工程学院 专业班级: i got7 指导老师: 学号: i got7 姓名: 鸟宝宝 a. 合并排序 合并排序是分治法的应用,把需要排序的数组A[1 - n],一分为二A[1 -n/2]和A[n/ ...
一.分治思想 例1.找伪币 [问题描述] 给你一个装有16个硬币的袋子,16个硬币中有一 个是伪造的,并且那个伪造的硬币比真的硬币要轻一 些. 你的任务是找出这个伪造的硬币. 为了帮助你完成这一任务,将提供一台可用来比 较两组硬币重量的仪器 ...
河北科技师范学院 欧美学院 算法设计与分析个人总结 指导教师 院 系 班 级 学生姓名 学 号 引言:对于计算机科学来说,算法分析与设计是至关重要的.在一个大型软件系统的开发中,设计出有效的算法将起到决定性的作用.通俗的讲,算法是解决问题的 ...
计算机算法设计与分析复习题 一.填空题 1.一个算法复杂性的高低体现在计算机运行该算法所需的时间和存储器资源上,因此算法的复杂性有 时间 复杂性和空间复杂性之分. 2.出自于"平衡子问题"的思想,通常分治法在分割原问题, ...
十大经典数学模型 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,是比赛时必用的方法) 2.数据拟合.参数估计.插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而 ...
南京邮电大学通达学院 实验报告 实验名称:快速排序算法 课程名称:微型计算机原理与接口技术 姓名班级学号:钱煜中 实验时间:2016.12.2 快速排序原理 一. 实验原理: 快速排序算法quick sort主要是利用分治递归的思想进行排序 ...
快速排序问题 张懿 1问题描述 对于有1,000,000个乱序数据的数据文件执行快速排序. 2 本实验在Windows8.1环境下实现.实验环境 3实验步骤 (1)首先产生包含1,000,000个随机数(数据类型可选整型或者浮点型)的数据文 ...