请教一个关于线性时间选择算法的题目
有一个集合, 里面有n个无序实数. 设最小数是a,最大数是b. 他们的平均距离定义为d = (b-a)/(n-1)
1)证明集合里面至少有一对数x和y, 使得|x-y|<=d.
2)设计一个算法,在O(n)时间内找到这样一对x和y
(注:只需要找到一对满足条件的x和y即可,不需要找到所有满足条件的x和y)
提示:可以把线性时间选择算法作为你的算法的子程序,
即寻找一个size为n的无序集合中第K大的数仅需O(n)时间, 1<=K<=n, 详情见算法导论
第一问很简单 请略过
第二问不太会