分治法
myy_cjw
这个作者很懒,什么都没留下…
展开
-
分治法查找第k小/大的数
1.问题 数学语言:给无序序列集中有n个元素,查询次数m和一个整数k,1<=k<=n,找出这n个元素中第k大的元素。 2.解析 利用快速排序,可以从序列中取一个中点mid,然后把序列分成小于等于mid和大于等于mid的两部分,由两个部分的元素个数和k的大小关系可以确定这个数是在哪个部分,以此类推,进行递归查找。 3.设计 if (两边指针相交) return -1; if (两...原创 2020-03-31 18:35:17 · 1935 阅读 · 0 评论 -
最近点对问题(分治法以及蛮力法的运用)
1.问题 数学语言:设p1=(x1,y1),p2=(x2,y2)…pn=(xn,yn)是平面n上n个点构成的集合S,找出集合S中距离最近的点对就是集合里的最小点对,两者的距离就是最小对距离。 2.解析 (1)将集合S分成两个子集S1和S2,每个子集中大约有n/2个点,设集合S的最近点对是pi和pj(1<=i,j<=n)则有以下三种情况 1.pi∈S1,pj∈S1 2.pi∈S1,pj∈...原创 2020-03-24 19:10:09 · 1441 阅读 · 0 评论