2011年4月13日

算法导论9.3-7习题解答

摘要: CLRS 9.3-7 :给出一个O(n)时间的算法,在给定一个有n个不同数字的集合S以及一个正整数k<=n后,它能确定出S中最接近其中位数的k个数。算法思想:1.找到数组a中第n/2小的数median;2.对a中非median数进行|a[i] - median|,得到一个大小为n - 1的数组distance;3.寻找distance中第k小的数值;4.对distance进行一次遍历,找到小于等于k的数,从而对应得到数组a中的k个数。上述每一步的时间复杂度都为O(n),因而最后总的时间复杂度为O(n).#include <iostream>#include <time. 阅读全文

posted @ 2011-04-13 09:20 NULL00 阅读(1221) 评论(0) 推荐(0) 编辑

导航