1.加粗样式编写一个求一元多项式的值Pn(x0)的算法,分析算法的时间复杂度,并在main方法中编写测试代码,给出运行结果。
提示:将一元多项式改写为
算法如下:
main方法代码:
public class shiyan1_8 {
double getPolynomialResult(double[]a,double x) {
double result=0;
double powX=1;//临时变量,用于减少计算x幂的计算次数
for(int i=0;i<a.length;i++) {
result+=a[i]*powX;
powX*=x;
}
return result;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
shiyan1_8 sy=new shiyan1_8();
double[] array= {1,2,3,4,5};
double x=1;
double s=sy.getPolynomialResult(array,x);
System.out.println(s);
}
}
此算法时间复杂度为:T(n)=O(a.length)
2.有一个包括100个数据元素的数组,每个数据元素的值都是实数,试编写一个求最大数据元素的值及其下标的算法,并分析算法的时间复杂度。