算法,第四版,英文版百度网盘
密码:5i3u
Basic Programming Model
Java中数组的使用
Java中数组的使用:声名(declaration),指定空间大小(creation)和初始化(initialization)缺一不可。一旦我们创建了(create)了数组,它的大小(N)就固定了。
一维数组:
完整的形式(long form):
double[] a; //declaration
a = new double[N]; //creation
for(int i = 0; i < N;)
{ //initialization
a[i++] = 0.0;
}
简写(short form):
double[] a = new double[N];
int[] a = {1, 1, 2, 3, 5, 8}; //上边循环是把数组a初始化为统一值,此处初始化为特定值。
二维数组:
完整的形式(long form):
double[][] a; //declaration
a = new double[M][N]; //creation
for(int i = 0; i < M; i++)
{ //initialization
for(int j = 0; j < N; j++)
{
a[i][j] = 0.0;
}
}
简写(short form):
double[][] a = new double[M][N];
int[][] a = {{1, 1}, {2, 3}, {5, 8}}; //上边循环是把数组a初始化为统一值,此处初始化为特定值。M = 3; N = 2,即两行三列的二维数组。
Java中length、length()以及size()
length是属性,一般集合类对象拥有的属性,取得集合的大小。例如:数组.length就是取得数组的长度。
length()是方法,一般字符串类对象有该方法,也是取得字符串长度。例如:字符串.length();
java中的length属性和length()方法和size()方法的区别
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。
2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法。
3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
reverse the elements within an array
int N = a.length;
for(int i = 0; i < N/2; ++i)
{
double temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = temp;
}
matrix-matrix multiplication(square matrices)
a[][]*b[][] = c[][]
int N = a.length;
double[][] c = new double[N][N];
for(int i = 0; i < N; ++i)
{
for(int j = 0; j < N; ++j)
{
//Compute dot product of row i and column j.
for(int k = 0; k < N; ++k)
{
c[i][j] += a[i][k] * b[k][j];
}
}
}
primality test
public static boolean isPrime(int N)
{
if(N < 2)
return false;
for(int i = 2; i * i <= N; ++i)
{
if(N % i == 0)
return false;
}
return true;
}
square root(Newton‘s method)
public static double sqrt(double c) // 求c的平方根
{
if(c < 0)
return Double.NaN;
double err = 1e-15;
double t = c;
while(Math.abs(t - c/t) > err * t)
{
t = (c/t + t) / 2.0;
}
return t;
}
关于牛顿法求根参考网址: