度量程序(算法)执行时间的两种方法
1、事后统计
这种方法两个问题:想要评测就需要运行程序,二是运行时间依赖于计算机硬件软件等,而且只有在同一台机器上运行比较算法速度才是有效的
2、事前估算
通过分析算法时间复杂度来判断哪个算法更优
时间频度T(n)
忽略常数项的说明
发现随着n的变大,常数项的作用是逐渐变小,可以忽略不计的
忽略低次项
随着n的变大,高次相同的话执行次数是趋近相同的,所以可以忽略低次项
忽略系数
忽略系数是因为考虑高数中极限的思想,当n趋近于无穷大时,n^3 和
6n^3是同一个数量级的,所以忽略系数
时间复杂度
常数阶:代码的执行不会因为某个变量的变大而执行次数增加,比如i等于20000,上边代码还是执行5行