您现在的位置是:主页 > news > 营销网站建设网络公司/北京seo优化wyhseo

营销网站建设网络公司/北京seo优化wyhseo

admin2025/6/5 21:40:59news

简介营销网站建设网络公司,北京seo优化wyhseo,58同城佛山网站建设,昆明森贤网站建设1.事后统计方法 通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低 因为此方法有各种缺陷,不予采纳 2.事前分析估算方法 在计算机程序编制前,依据统计方法对算法进行…

营销网站建设网络公司,北京seo优化wyhseo,58同城佛山网站建设,昆明森贤网站建设1.事后统计方法 通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低 因为此方法有各种缺陷,不予采纳 2.事前分析估算方法 在计算机程序编制前,依据统计方法对算法进行…

1.事后统计方法

通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低
因为此方法有各种缺陷,不予采纳

2.事前分析估算方法

在计算机程序编制前,依据统计方法对算法进行估算

一个程序在计算机上的运行时所消耗的时间取决于以下因素:

  1. 算法采用的策略、方法(算法好坏的根本)
  2. 编译产生的代码质量(主要由软件来支持)
  3. 问题的输入规模
  4. 机器执行指令的速度(即输入量的多少,主要看硬件性能)

抛开与硬件和软件的有关因素,一个程序的运行时间依赖于算法的好坏和问题的输入规模。
所谓问题输入规模就是指输入量的多少

举例:1+2+3+……+100
第一种算法
循环求解
执行了 1+(n+1)+n+1=2n+31+(n+1)+n+1=2n+31+(n+1)+n+1=2n+3
算法实际操作数量 f(n)=nf(n)=nf(n)=n

int sum = 0, n = 100; 			//执行 1 次
for(int i = 1; i <= n; i++){ 	//执行 n+1 次,包含i=1这一次,输入规模n=100sum = sum + i;				//执行 n 次
}
printf("%d",sum);				//执行 1 次

第二种算法:
等差数列求和
执行了 1+1+1=31+1+1=31+1+1=3
算法实际操作数量 f(n)=1f(n)=1f(n)=1

int sum = 0, n = 100;			//执行 1 次
sum = (1 + n) * n/2;			//执行 1 次
printf("%d",sum);				//执行 1 次

我们只关注代码中间那部分,把循环看作一个整体,忽略头尾循环判断的开销,那上面两个算法是 nnn111 的差距

举例延伸:
执行 1002100^21002
算法实际操作数量 f(n)=n2f(n)=n^2f(n)=n2

int x = 0, sum = 0, n = 100;		//执行1次,输入规模n=100
for(int i = 1; i <= n; i++){		//第一次外循环时,内循环共100次,外循环进行100次时,外循环共100000次for(int j = 1; j <= n; j++){	//执行 n×n 次x++;sum = sum + x;}
}
printf("%d",sum);				//执行1次