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 NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相 ......
1、不可以用一个本地类型(如int float)来替换泛型
2、运行时类型检查,不同类型的泛型类是等价的(Pair<String>与Pair<Employee>是属于同一个类型Pair),
这一点要特别注意,即如果a instanceof Pair<String>==true的话,并不代表a.getFirst()的返回值是一个S ......
冒泡排序是一种很流行很简单的排序算法,它重复的交换相邻两个反序元素。
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 ......
1、JDK (Java Development Kit)
SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK)。开发人员和最终用户可以利用这个工具来开发java程序。
JDK简单易学,可以通过任何文本编辑器(如:Windows 记事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)编写Java源文件,然 ......