算法实验二 分治法 最近点对问题

分治法算法分析与设计实验二

主要内容

•实验目的主要实验仪器设备和环境实验内容实验要求注意点

实验目的

•理解分治法的基本思想

•针对特定问题,可以设计出分治算法进行求解

主要实验仪器设备和环境

•每位学生一台计算机

•计算机的操作系统为

–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中的点与它的距离,

更新所获得的最近距离

分治法算法分析与设计实验二

主要内容

•实验目的主要实验仪器设备和环境实验内容实验要求注意点

实验目的

•理解分治法的基本思想

•针对特定问题,可以设计出分治算法进行求解

主要实验仪器设备和环境

•每位学生一台计算机

•计算机的操作系统为

–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中的点与它的距离,

更新所获得的最近距离


相关文章

  • 分治法解最接近点对问题
  • 算法分析与设计实验报告 2014-2015第一学期 实验一:用分治法解最接近点对问题 指导教师:cccc 实验时间:2014年10月28日 实验地点:计算中心二楼 班级: 计ccc 学号: 124cc08 姓名: 杨cc 成绩: 实验一 用 ...查看


  • 分治法实现快速排序
  • 实验一 实验名称: 利用分治法实现快速排序 实验时间: 2012年12月 成绩: 一.实验目的 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同.递归地解这些子问题,然后将各个子问题的解合并 ...查看


  • 西安邮电大学算法资料
  • 选择: 1.算法的性质包括输入.输出.( A ).有限性. A. 确定性 B. 随机性 C. 复杂性 D. 渐近复杂性 2.备忘录法是那种算法的变形( B ). A.分治算法 B.动态规划算法 C.贪心算法 D.回溯法 3.具有最优子结构的 ...查看


  • 算法设计技术与方法课程教学大纲
  • <算法设计技术与方法>教学大纲 一.课程基本信息 1.课程编码: 2.课程名称(中文):算法设计技术与方法 课程名称(英文):Algorithms Design Techniques and Analysis 3.学时/学分:3 ...查看


  • 算法设计与分析(第2版)-王红梅-胡明-习题答案
  • 算法设计与分析(第2版)-王红梅-胡明-习题 答案 习题1 1. 图论诞生于七桥问题.出生于瑞士的伟大数学家欧拉(Leonhard Euler,1707-1783) 提出并解决了该问题.七桥问题是这样描述的:一个人是否能在一次步行中穿越哥尼 ...查看


  • 算法设计与分析基础习题参考答案
  • 习题 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/ ...查看


  • 算法分析--分治法
  • 分治算法 小组的汇报内容: 一.分治算法的基本概念„„„„„„„„„„„„„第2页 二.分治算法的基本思想及策略„„„„„„„„„„第2页 三.分治法适用的情况„„„„„„„„„„„„„„第3页 四.分治法的基本步骤„„„„„„„„„„„„ ...查看


  • B5分治思想与递归算法的应用
  • 一.分治思想 例1.找伪币 [问题描述] 给你一个装有16个硬币的袋子,16个硬币中有一 个是伪造的,并且那个伪造的硬币比真的硬币要轻一 些. 你的任务是找出这个伪造的硬币. 为了帮助你完成这一任务,将提供一台可用来比 较两组硬币重量的仪器 ...查看


热门内容