Este programa demuestra cómo probar el tiempo de ejecución de un programa.
Tome el algoritmo de clasificación de burbujas como ejemplo.
#include "time.h" //与时间相关的函数
#include "stdlib.h" //rand()函数在此库中
#include "stdio.h" //输入输出相关函数
void BubbleSort(int *a, int n)
{//冒泡排序, a是指针,代表连续空间的首地址,n表示有n个元素
for(int i=1;i<=n-1;i++)
{
for(int j=0;j<=n-i-1;j++)
{
if(a[j]>a[j+1])
{
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main( )
{
time_t start, stop;
int n;
int data_num[]={10000,30000,60000,90000};//问题规模
int j;
for(j=0;j<4;j++)
{
n=data_num[j];//问题规模
int a[n]={0};
for(int i=0;i<n;i++)
a[i]=rand();
start=time (0); //单位是秒
BubbleSort(a,n);
stop=time (0);
time_t runTime = stop - start;
printf ( "%d %d\n" , n,runTime );
}
return 0;
}
resultado de la operación:
Entre ellos, la primera columna es el número de datos y la segunda columna es el tiempo de ejecución de la clasificación de burbuja correspondiente.
Usando la primera columna como abscisas y la segunda columna como ordenadas, haga un gráfico de dispersión en Excel:
La figura es similar a la forma de la función y = n * n.
La complejidad temporal del algoritmo, en notación O, es exactamente: O (n * n)