摘要: 给定n个实数x1,x2,…xn,求这n个数在实轴上相邻两个数之间的最大差值,要求设计线性的时间算法。最容易想到的是先对n个数据进行排序,然后一边扫描即可确定相邻的最大间隙。但该方法不能满足线性时间的要求。故采取如下方法:1. 找到n个数据中最大和最小数据maxnum和minnum;2. 用n—2个点等分区间[minnum, maxnum],即将[minnum, maxnum]等分为n-1个区间(前闭后开区间),将这些区间看做桶,编号为1,2,…n-1,且桶i的上界和桶i+ 1的下界相同,即每个桶的大小相同;每个桶的大小: space = (maxnum - minnum) / (n - 1), 阅读全文
posted @ 2012-04-19 21:45 爱也玲珑 阅读(332) 评论(0) 推荐(0) 编辑