java实现的霍纳规则的多项式计算
霍纳规则多项式计算如果使用朴素的多项式求值,时间复杂度为O(n*n),而是用了霍纳规则可以使用递归或者迭代来实现,时间复杂度是O(n),下面是源代码:
/*
* 实现霍纳规则的多项式计算时间复杂度为O(N)
*/
public class HuonaRule {
public static void main(String args[])
{
double data[]=new double[]{1.0,2,2,3,4};
double x=3;
System.out.println(huonaFunction(data,x,data.length));
}
/*
* data为多项式的系数数组,x为值,n为系数数组的长度
* Y=a0+a1*X+a2*X^2+.....+an*X^n;
* Y=a0+X(a1+X(a2+X(a3+X(...))))
*/
public static double huonaFunction(double[] data,double x,int n)
{
double y=0;
int i=n-1;
while( i>=0 )
{
y=x*y+data[i];
i--;
}
return y;
}
}
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
win7(windows7)下java环境变量配置方法
windows7下java环境变量配置方法:
1.用鼠标右击“我的电脑”->属性
选择左边导航的“高级系统设置”选项,然后这回熟悉了吧?
继续选择右下角的& ......
1、不可以用一个本地类型(如int float)来替换泛型
2、运行时类型检查,不同类型的泛型类是等价的(Pair<String>与Pair<Employee>是属于同一个类型Pair),
这一点要特别注意,即如果a instanceof Pair<String>==true的话,并不代表a.getFirst()的返回值是一个S ......
一下是java实现的有一个归并排序,自己发现自己的基础功太差了,所以最近开始学习算法,好好的联系每一算法,各位大神不要见笑,写的有错的地方希望能够指出来谢谢哈:
package sort;
import java.util.Date;
import java.util.Random;
/*
* 归并排序
*/
public class MergeSort {
public static void main(Stri ......
冒泡排序是一种很流行很简单的排序算法,它重复的交换相邻两个反序元素。
import java.util.Date;
import java.util.Random;
public class BubbleSort {
public static void main(String args[])
{
int len = 40;
Date date = new Date();
Random random = new Random(date.getSeconds());
int data[]=n ......