java 比较大小算法

Python012

java 比较大小算法,第1张

排序用建议实现comparable类吧 自定义排序比较的参数 否则对象是没法比较大小的 只能比较是否相等

class One implements Comparable{

int age

@Override

public int compareTo(Object o) {

// TODO Auto-generated method stub

One one = (One)o

if(one.age >this.age)

return -1

else if( one.age <this.age)

return 1

else

return 0

}

}

大概这个意思 这是对象比较大小

对象数组同样也这样比较,数值数组直接循环比较就行

1.是的

2.a-可以直接求和,b-利用近似公式

3.近似公式为e=(1+1/n)^n,n->无穷大

4.这两个公式都需要运算n到足够大来减少误差

假如你运算到n=k满足精度需要了

那么你首先要保证当n=k-1时算出的值与n=k的值差别小于0.0001

假如需要考虑截断误差,那么你就要考虑到任何一个1/n或者1/n!的形式的截断误差,以及运算中每一步的累计误差,都是可以计算的

从累积误差的角度来说,第一个方法较优

因为每一个求和项目都是整数的倒数,只发生一次截断

之后的误差计算直接将最大误差可能求和就可以了

而且每一次迭代可以应用上一次的结果,效率较高

但是缺点是当n比较大的时候,n!也会是一个比较大的数,n的类型定义得不好会溢出

第二个方法就需要计算一次截断误差,并且计算n次方的误差累积