测试使用语言:【Python】
由于此类语言入门非常容易,哪怕初中生亦可以,并且本科/研究生写论文、做实验多数所用语言都是【Python】故而选择此语言。
代码运行平台:【win10 x64】
代码环境安装:【https://blog.csdn.net/feng8403000/article/details/113784766】
代码编码格式:【https://blog.csdn.net/feng8403000/article/details/113785344】
完整的vs搭建并使用【Python】,非常简单,基础部分无需任何环境配置,工具自带即可。
一、时间频度:
一个算法花费的时间与算法中语句的执行次数成比例,哪个算法中语句执行的次数多,它花费时间就多。
一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
在计算时间频度时,常数项和低次项可以忽略,因为随着n变大,时间频度会无限接近。
例如:从1++++++100的结果5050,利用等差数列公式计算的会飞快
import time #累计1至1亿的总和 start=1 end=100000000 #暴力运算 starttime = time.time()#开始 result=0 for x in range(start,end+1): result+=x endtime = time.time()#结束 print("暴力运算结果:{0},消耗时间:{1}".format(result,(endtime - starttime))) #等差数列 starttime1 = time.time()#开始 result1=end*(end+1)//2 endtime1 = time.time()#结束 print("等差数列求和公式结果:{0},消耗时间:{1}".format(result1,(endtime1 - starttime1)))
分析:
循环从1-1亿一共1亿次,需要再判断一回才能退出。
算法2:result=(1+end)*end/2(这个是等差数列求和公式:(a1+an)*n/2)一步到位 T(n)=1