【算法学习】01---java基础以及算法基础常用类库

算法学习---基础

tags:算法

本章主要学习了一下书中要使用的类库以及java基础

  • 1.1 Java基本编程
  • 1.2 数据抽象
  • 1.3 背包,队列和栈
  • 1.4 算法分析

基础编程模型

java程序的基本结构
各种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));
		}
	}

结果
结果

posted @ 2017-05-17 14:00  hylinux  阅读(342)  评论(0编辑  收藏  举报