用于测试空间复杂度的算法,顺序查找 在数组中从左至右查找第一个与x相等的元素。如果找到则返回它第一次出现的位置。如果没有则返回-1 顺序查找的两种方法: (1)普通的方法:
1 |
|
结果: 顺序查找的递归实现:
1 |
|
结果: 时间复杂度的涉及的算法,一个程序的时间复杂度可以通过它进行的for循环次数进行计算。 普通的多项式计算:
1 |
|
结果: 这里看出由于循环次数比较多所以时间复杂度比较大 这里可以使用horner法则进行多项式的拆分即可将 a0*x4+a1*x3+a2*x2+a1*x1+a0*x^0拆分为如下式子: (((((x*a1)+a0)*x+a2)*x+a3)*x+a4)
1 |
|
结果: 跟上面的结果对比发现通过霍尔法则可以将时间复杂度缩短很多 End!~