当前位置: 编程技术>c/c++/嵌入式
C语言实现最大间隙问题实例
来源: 互联网 发布时间:2014-10-28
本文导语: 本文实例展示了C语言实现最大间隙问题的方法,对于算法的设计有一定的借鉴价值。分享给大家供大家参考。具体如下: 问题描述如下: 给定n个实数x1,x2,...,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的...
本文实例展示了C语言实现最大间隙问题的方法,对于算法的设计有一定的借鉴价值。分享给大家供大家参考。具体如下:
问题描述如下:
给定n个实数x1,x2,...,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的时间算法。
解决思路:
注意题中要求设计线性时间算法。如果没有这个要求,就可以先排序,找出来就很方便。但我们知道排序最优良的算法的时间效率也是nlogn的。所以不可行。
采用一种区间算法。具体步骤就不说了,给出C语言代码,有注释加以说明。
具体实现代码如下:
#include "stdio.h" #include "stdlib.h" #define MAX 10000 float findmin(float data[],int n){/*寻找数据序列中的最小值*/ int index,i; float min,temp; temp=data[0]; for(i=1;i