摘要: 分治算法介绍 给定两个n位的二进制整数x和y(当然次算法不限定二进制数),作为x乘y的第一步,我们将x和y一分为二,每个数的左半部分和右半部分都是n/2位的二进制整数: 例如,如果X=10110110B(B表示该数是二进制数),那么XL=1011B, XR=0110B, 同时X=1011B*2^4+ 阅读全文
posted @ 2018-07-11 20:52 guguchen 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 快速排序及快速选择问题 1. 快速排序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2. 快速选择问题 快速选择问题。输入n个整数和一个正整数k(1≤k≤n),输出这些整数从小到大排序后的第k个(例如,k=1就是最小值)。n≤107。 在快速排序的 阅读全文
posted @ 2018-07-11 20:25 guguchen 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 分治算法 分:递归解决较小问题 治:然后,从子问题的解构建原问题的解 我们仿照一维的情况先把所有点按照x(横坐标)从左到右升序排列. 以X横坐标中间的点作为分界线.将平面的点分成左边和右边,以上图为例,分为左边5个右边5个. 然后找到左边的点中最近点对的距离d1,和右边最近点对的距离d2。 令d=m 阅读全文
posted @ 2018-07-11 16:23 guguchen 阅读(306) 评论(0) 推荐(0) 编辑