C語言實現最大間隙問題例項

2022-10-04 04:21:06 字數 803 閱讀 7467

問題描述如下:

給定n個實數x1,x2,...,xn,求這n個實數在實軸上相鄰2個數之間的最大差值,要求設計線性的時間演算法。

解決思路:

注意題中要求設計線性時間演算法。如果沒有這個要求,就可以先排序,找出來就很方便。但我們知道排序最優良的演算法的時間效率也是nlogn的。所以不可行。

採用一種區間演算法。具體步驟就不說了,給出c語言**,有注釋加以說明。

具體實現**如下:

#include "stdio.h"

#include "stdlib.h"

#define max 10000

float findmin(float data,int n)

}max=data[index];

return max;

}void initial(int n,int count,float low,float high,float min,float max)

}float findmaxgap(int n,float low,float high,int count)

} return 程式設計客棧maxgap;

}int main(){

float data[max];

int n,i=0;

float min,max;

float m,maxgap;

float low[max],high[max];

int count[max];

scanf("%d",&n);

for(i=0;i

本文標題: c語言實現最大間隙問題例項

本文位址:

最大間隙問題

最大間隙問題 問題描述 最大間隙問題,給定n 11,x2,xn,求這n個數在實軸上相鄰2個數之間的最大差值。假設對任何實數的下取整函式耗時o 1 設計乙個計算複雜性最低的演算法解決最大間隙問題。演算法設計 對給定的n個實數x1,x2,xn,計算它們的最大間隙。資料輸入 輸入資料由檔名為 zdjian...

最大間隙問題

問題描述 最大間隙問題 給定n 個實數x1,x2 xn,求這n 個數在實軸上相鄰2 個數之間的最大差值。假設對任何實數的下取整函式耗o 1 設計解最大間隙問題的線性時間演算法。程式設計任務 對於給定的n 個實數x1,x2,xn,程式設計計算它們的最大間隙。資料輸入 輸入資料由檔名為input.txt...

最大間隙問題

給定n個實數,求出相鄰的兩個數,這兩個數的差值是所有相鄰數的最大 例如 1 3 7,8,則答案是3,7 思想如下 找出最大值和最小值,則所有的兩個數 m n max min n 1 因此,設定n 1 個區間,區間長度為 max min n 1,將所有數按照與min的差值對映到這些區間裡 則所有的兩個...