分治法
文章平均质量分 78
Mr.Dimple
这个作者很懒,什么都没留下…
展开
-
分治法——循环日程赛问题
循环日程赛问题循环日程赛是利用分治法解决的经典问题之一。问题描述设有n = 2k 个选手参加比赛,要求设计一个日程赛安排表,满足:每个选手都与其他n-1个选手各自比赛一次;每个选手每天只比赛一次;比赛进行n-1天。设计分析设计日程赛安排表可以用一个n行n-1列的二维数组来表示,a[i][j]即表示第i个选手在第j天遇到的对手。要想利用分治法解决该问题,就必须将整个问题进行划分...原创 2019-07-30 23:24:13 · 2309 阅读 · 0 评论 -
分治法——k小元素问题
求第k小元素问题k小元素问题是利用分治法进行求解的经典问题之一。问题描述已知一个长度为n的数组,返回数组中的第k小的元素。分析设计要想找出第k小的元素,我们首先想到的方法肯定是先将数组进行排序,返回第k个元素即可,然而利用排序的方法求解时间复杂度至少为O(nlogn),是否存在一种算法使得时间复杂度为O(n)?分治法当数组长度,即问题规模很大时,分治法是一种很好的算法解决该问题。当问...原创 2019-07-31 09:48:29 · 11230 阅读 · 4 评论 -
分治法——最近点对问题
最近点对问题最近点对问题是利用分治法解决的经典问题之一。问题描述设在一个点集S中存在n个点,找出距离最相近的一对点p1和p2,最近点对可能不止一对,输出一对即可。分析设计在n个点中找出距离最近的一对点,我们首先可以想到的方法就是暴力穷举的方法:遍历整个点集,计算每一对点之间的距离d,就能找出最短距离dmin。显然这样的方法时间复杂度为O(n2),时间复杂度太高,若问题规模较大,穷举的算...原创 2019-07-31 16:18:03 · 3248 阅读 · 1 评论