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