導航:首頁 > 編程語言 > 程序運行時間演算法

程序運行時間演算法

發布時間:2021-12-04 14:42:49

『壹』 c語言 計算程序運行時間

#include <stdio.h>
#include <time.h>

#define N 10000 /*這個數字可以自己改,如果時間太長結果不出來你就改小點*/
void f()
{
int i, j, k;
for ( i = 0; i < N; ++i )
for ( j = 0; j < N; ++j )
for ( k = 0; k < N; ++k )
;
}

int main()
{
clock_t begin, ration;

begin = clock();
f();
ration = clock() - begin;
printf( "函數f()的運行時間大約為:%dms\n", ration*1000/CLOCKS_PER_SEC );
}

『貳』 java如何計算程序運行時間

long begin = System.currentTimeMillis(); // 這段代碼放在程序執行前

long end = System.currentTimeMillis() - begin; // 這段代碼放在程序執行後專
System.out.println("耗時:" + end + "毫秒屬");

『叄』 如何計算程序的運行時間,並精確到微秒

1 需要取得系統精確時鍾函數:
1)對於一般的實時控制,使用GetTickCount()函數就可以滿足精度要求,但要進一步提高計時精度,就要採用 QueryPerformanceFrequency()函數和QueryPerformanceCounter()函數。
2)這兩個函數是VC提供的僅供 Windows 9X使用的高精度時間函數,並要求計算機從硬體上支持高精度計時器。
3) QueryPerformanceFrequency()函數和 QueryPerformanceCounter()函數的原型為:

BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);

BOOL QueryPerformanceCounter(LARGE_INTEGER *lpCount);
數據類型LARGE—INTEGER既可以是一個作為8位元組長的整型數,也可以是作為兩個4位元組長的整型數的聯合結構,其具體用法根據編譯器是否支持64位而定。該類型的定義如下:
typedef union _LARGE_INTEGER
{
struct
{
DWORD LowPart; // 4位元組整型數
LONG HighPart; // 4位元組整型數
};
LONGLONG QuadPart;

// 8位元組整型數
} LARGE_INTEGER;

4)在進行計時之前,應該先調用QueryPerformanceFrequency()函數獲得機器內部計時器的時鍾頻率。筆者在三種PentiumⅡ機器上使用該函數,得到的時鍾頻率都是1193180Hz。接著,筆者在需要嚴格計時的事件發生之前和發生之後分別調用QueryPerformanceCounter()函數,利用兩次獲得的計數之差和時鍾頻率,就可以計算出事件經歷的精確時間。
以下程序是用來測試函數Sleep(100)的精確持續時間。

LARGE—INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(&litmp);
// 獲得計數器的時鍾頻率
dfFreq = (double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);
// 獲得初始值
QPart1 = litmp.QuadPart;
Sleep(100) ;
QueryPerformanceCounter(&litmp);
// 獲得終止值
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2 - QPart1);
dfTim = dfMinus / dfFreq;
// 獲得對應的時間值
執行上面程序,得到的結果為dfTim=0.097143767076216(秒)。細心的讀者會發現,每次執行的結果都不一樣,存在一定的差別,這是由於Sleep()自身的誤差所致。

『肆』 在C語言中怎樣報告一個演算法的運行時間

#include <time.h> //頭文件
void main()
{
clock_t t1,t2,t3,t4;
t1=clock();
QuickSort(data,N);
t2=clock();
cout<<"快速排序用的時間:"<<t2-t1<<"毫秒"<<endl;
t3=clock();
Bubble(data);
t4=clock();
cout<<"冒泡排序用的時間:"<<t4-t3<<"毫秒"<<endl;
}

這是我在做快排和冒泡比較時用到的一段代碼,看完你應該很清楚了O(∩_∩)O~

『伍』 關於怎樣計算程序運行時間

先在運行前記錄下系統時間,等運行完成後,記錄下結束時間,一對比,就可以得到程序運行的時間。

『陸』 如何計算程序運行時間

可以啊,在程序開始用一變數存下當前系統的時間,在程序結束後再存下系統的時間,最後兩個時間相減就得出結果了。這題我們當時做過。

『柒』 如何計算程序運行時間JAVA

main入口時
date
d
=
new
date()
所有運算結束時
date
d1
=
new
date();
long
hm
=
d1.gettime()-d.gettime()
//取得相差毫秒數
之後輸出
hm/1000
輸出的是運行了多少秒(分鍾
小時什麼的自己應該會換算了吧?)
如果想復雜一點
可以寫一個監視線程
隨main啟動
同樣記錄一個啟動時間
判斷main線程被終止時記錄程序停止時間
隨後演算法同上

『捌』 C++實現計算程序運行時間

用高精度計時器
#include <iostream>
#include <windows.h>
using namespace std ;

int main(void)
{
LARGE_INTEGER BegainTime ;
LARGE_INTEGER EndTime ;
LARGE_INTEGER Frequency ;
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&BegainTime) ;
//要測試的代碼放在這里
QueryPerformanceCounter(&EndTime) ;
cout << ( EndTime.QuadPart - BegainTime.QuadPart )*1000 / Frequency.QuadPart ;

system("pause") ;
return 0 ;
}

『玖』 程序的運行時間

泛型編程的作用???
知道這個, 那麼你肯定會知道函數調用比一般語句花費的時間多!!!

下面這個函數是遞歸函數, 不是有許多書說許多入門書籍在誤人子弟(不是我說的哦,我沒這個水平)嗎? 為什麼??
他們說的是 遞歸是個好東西; 但是不是用來計算階乘和facoby等!!!
非常的慢, 而且增加堆棧的深度 容易出錯!

能用循環語句來實現的是好的 沒有調用函數的開銷大!!!

循環-有些編譯器還可能實現優化. 因此比較快!
<<代碼大全>> 可能會把這個問題說得非常精闢而且清楚!! 有時間可以去看看

int elevator(int n)
{
if(n==0||n==1)
return 1;
else
return elevator(n-1)+elevator(n-2);
}

『拾』 怎樣計算程序的執行時間(C語言中)

gettime可以得到毫秒級的時間
#include <stdio.h>
#include <dos.h>

int main(void)
{
struct time t;

gettime(&t);
printf("The current time is: %2d:%02d:%02d.%02d\n",
t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
return 0;
}

閱讀全文

與程序運行時間演算法相關的資料

熱點內容
免費資源在線觀看2021 瀏覽:253
linuxssh命令傳文件 瀏覽:521
男漏點電影 瀏覽:46
哪裡可以充qq紅包 瀏覽:868
久久影視網 瀏覽:458
港股機構業績預測數據哪裡查 瀏覽:768
有什麼app可以督促睡覺 瀏覽:835
考研背單詞什麼app好用 瀏覽:850
usb數據線電源怎麼加 瀏覽:933
主角老婆多的都市小說 瀏覽:920
漲奶後吸奶的小說 瀏覽:677
做數據軟體有哪些 瀏覽:213
48天58天68天 瀏覽:599
午馬電影推薦1001午馬電影推薦 瀏覽:265
數模混合模擬工具 瀏覽:160
在線把pdf文件變小 瀏覽:994
都市言情txt超肉 瀏覽:177
泰國帶女兒打泰電影大全 瀏覽:31
歐美做鴨電影 瀏覽:504
遍歷本地文件內容 瀏覽:610

友情鏈接