【算法学习】01---java基础以及算法基础常用类库
算法学习---基础
tags:算法
本章主要学习了一下书中要使用的类库以及java基础
- 1.1 Java基本编程
- 1.2 数据抽象
- 1.3 背包,队列和栈
- 1.4 算法分析
基础编程模型
java程序的基本结构
典型静态方法的实现javashili
package nh.algorithrm.study;
public class day1 {
/**
* 计算一个整数的绝对值
*/
public static int abs(int x){
return x>0?x:x;
}
/**
*计算一个数是否为素数
*/
public static boolean isPrime(int x){
if(x<2) return false;
for (int i = 2; i*i<=x; i++) {
if (x%i==0) {
return false;
}
}
return true;
}
/**
* 计算直角三角形的斜边
*/
public static double hypotenuse(double a,double b){
return Math.sqrt(a*a+b*b);
}
}
文中提及到的一些外部lib文件,需要在>[http://algs4.cs.princeton.edu/11model/]下载stdlib库然后加载到本地。
重定向与输出
StdDraw示例,本书提供了图形输出的类
@Test
public void testStdDraw() throws InterruptedException{
int N =100;
StdDraw.setXscale(0,N);
StdDraw.setYscale(0,N*N);
StdDraw.setPenRadius(.01);
for (int i = 0; i <=N; i++) {
StdDraw.point(i, i);
StdDraw.point(i, i*i);
StdDraw.point(i, i*Math.log(i));
}
}
结果