社区
数据结构与算法
帖子详情
分治法求一个平面点集里的最大点
GmAmeise
2010-05-20 04:46:05
题目如上,比如一个点P1(x1,y1),P2(x2.y2)必须满足x1>x2&&y1>y2才能说P1是最大点,要求必须用分治法,高手给个稍微详细的伪代码就好了!大家谁会的帮个忙!嘿嘿!
...全文
247
10
打赏
收藏
分治法求一个平面点集里的最大点
题目如上,比如一个点P1(x1,y1),P2(x2.y2)必须满足x1>x2&&y1>y2才能说P1是最大点,要求必须用分治法,高手给个稍微详细的伪代码就好了!大家谁会的帮个忙!嘿嘿!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GmAmeise
2010-05-20
打赏
举报
回复
结贴了。呵呵!新手新手,大家见谅!规则环视不太清楚,多谢各位热心解答!
GmAmeise
2010-05-20
打赏
举报
回复
呵呵!mysword 和 technic_tec理解对了,万分感谢!实在不好意思,这怪我,没弄明白就跑上来问.今天专门去问导师了,是我理解错了,原意就是求极大点集。。汗死了!以后问问题前我会注意的!感谢所有回答我问题的各位,第一次得到这么理想的答案!
icansaymyabc
2010-05-20
打赏
举报
回复
还不简单吗?按照你的“最大点”定义,分别求出 x 中的最大值 Xmax 和 y 中的 Ymax (这就算“分治法”了吧?)然后看看 P(Xmax, Ymax) 这个点是否存在, 存在就找到了最大点,不存在就说明没有最大点
再不改善你的结贴率,可能就没人回答你的问题了
technic_tec
2010-05-20
打赏
举报
回复
求极大点集,也可以不用对x排序,只需要保持每一步返回的结果有序。
Maximal_Points(points)
1. 如果只有一个点,则返回这个点
2. 将所有点分为两半A和B,递归处理A和B,分别得到部分结果Ra和Rb
3. 将Ra,Rb中的点依次加入结果点集R:
a)若Ra,Rb的第一个点的x坐标相同,取y较大的为P,y较小的从部分集中删除;
b)若Ra,Rb的第一个点的x坐标不同,取x较小的为P;
c)若Ra,Rb之一为空,取非空集的第一个点为P
d)从R中删除y坐标不大于P的点,将P从部分集中删除,并添加到R的末尾。
这个算法实际上是对x坐标作归并排序,同时删除非极大点,保持R对x的严格升序和对y的严格降序。
第三步合并算法,每个点最多被添加到R和从R中删除各1次,复杂度O(N);
因此整个算法复杂度与归并排序相同,O(NlogN)
要求最大点,若以上算法求出的极大点集仅含一个点,则这个点就是最大点;否则无最大点。
PS. 纠结于楼主结帖率的诸位,请先看一看详情(将鼠标移到结帖率数字上查看)。
michael122
2010-05-20
打赏
举报
回复
ls说的不错,你定义的最大点可能不存在
充其量叫“极大点”
gnefuil
2010-05-20
打赏
举报
回复
求极大点集吧?
按x排序,前一半的点和后一半的点分治处理,然后把前一半点分治处理的结果中 y值小于后一半点分治处理结果中的最大y 的点去掉
heartraid86
2010-05-20
打赏
举报
回复
绝对题目有问题,平面点集里面如果出现了P1(X1,Y1), P3(X3,Y3) 满足X1>X3 && Y1<Y3, 那么P1和P3到底谁大。如果平面点集中有些点不能相互比较,那么如何能够求出最大点??? 不理解?
哥,看到你的结贴率,俺心寒。
heartraid86
2010-05-20
打赏
举报
回复
[Quote=引用 4 楼 gmameise 的回复:]
额,主要题目是德文的,估计我翻译有误。哎,,德语太烂了。这个问题先放下吧!还有个问题1楼的同学,什么是结贴率啊?
[/Quote]
如果你发布了10个帖子,但一个都没有结贴给分,那么结贴率就是0% 。
donkey301
2010-05-20
打赏
举报
回复
[Quote=引用 4 楼 gmameise 的回复:]
额,主要题目是德文的,估计我翻译有误。哎,,德语太烂了。这个问题先放下吧!还有个问题1楼的同学,什么是结贴率啊?
[/Quote]
是不是先比较x,如果x相同再比较y
GmAmeise
2010-05-20
打赏
举报
回复
额,主要题目是德文的,估计我翻译有误。哎,,德语太烂了。这个问题先放下吧!还有个问题1楼的同学,什么是结贴率啊?
平面
点
集最接近
点
对源码
《算法分析与设计》中的递归与分治算法,
求
解
平面
点
集最接近
点
对算法。
分治法
求
最近
点
对问题
分治法
求
最近
点
对问题,要
求
:1. 对于
平面
上给定的N个
点
,给出所有
点
对的最短距离,即,输入是
平面
上的N个
点
,输出是N
点
中具有最短距离的两
点
。 2. 要
求
随机生成N个
点
的
平面
坐标,应用蛮力法编程计算出所有
点
对的最短距离。 3. 要
求
随机生成N个
点
的
平面
坐标,应用
分治法
编程计算出所有
点
对的最短距离。 4. 分别对N=100,1000,10000,100000,统计算法运行时间,比较理论效率与实测效率的差异,同时对蛮力法和
分治法
的算法效率进行分析和比较。 5. 如果能将算法执行过程利用图形界面输出,可获加分。
实验2_
分治法
求
最近
点
对问题_
分治法
求
最近
点
对问题_
1. 对于
平面
上给定的N个
点
,给出所有
点
对的最短距离,即,输入是
平面
上的N个
点
,输出是N
点
中具有最短距离的两
点
。2. 要
求
随机生成N个
点
的
平面
坐标,应用蛮力法编程计算出所有
点
对的最短距离。3. 要
求
随机生成N个
点
的
平面
坐标,应用
分治法
编程计算出所有
点
对的最短距离。
分治法
求
平面
最近
点
报告
用C++实现的
分治法
求
解
平面
最近
点
问题的报告
修正的
分治法
求
最近
点
对
给定
一个
点
数组,比较
求
解最近
点
对的一般算法和
分治法
的效率。测试过后相信你会对
分治法
有另一看法的。
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章