皮皮安学算法(第一天)

写在前面

看着最近勇哥也开始入驻CSDN了,而且是日更,原本我打算下周的考试周结束了在开始CSDN的更新,看着看着,手就有点痒痒了,就想写点啥。嗯嗯嗯,只不过最近有点忙…我也不知道忙啥,感觉就是忙,瞎忙的那种,也不知道写点什么。就提前一周进入算法的学习吧,Java那边我还是会定期更新,一直到JDBC访问数据库那就会转向数据库,JS,JQ的学习,后面的JSP,SSM都会去了解一下。

大家都知道,算法和数据结构是编程的灵魂,所以,只要我还活着,对算法和数据结构的探索都不会停下,现在的我,从最简单的算法开始学起,我的参考书是,人民邮电出版社的《算法(第四版)》。

今日所学

由于这本书前一章是对Java的复习,我将一些我试着敲的代码拿出来吧。

	package 第一章.基础编程模型.素数;
	public class test {
	    public static void main(String[] args) {
	        System.out.println(isPrime(N));
	    }
	
	    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;
	    }
	}


	package 第一章.基础编程模型.平方根;

	public class test {
	    public static void main(String[] args) {
	        System.out.println(sqrt(4));//结果为2
	    }
	    public static double sqrt(double 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;
	    }
	}

	package 第一章.基础编程模型.调和级数;

	public class tset {
	    public static void main(String[] args) {
	        System.out.println(H(9));//结果2.8289682539682537
	    }

    public static double H(int N)
    {
        double sum = 0.0;
        for (int i = 1; i <= N; i++) {
            sum += 1.0/i;
        }
        return sum;
    }
}

	package 第一章.基础编程模型.二分查找的递归实现;
	
	public class test {
	    public static void main(String[] args) {
	        int[] a = new int[]{1,3,5,7,9};
	        System.out.println(rank(3,a));//结果是1
	    }
	    public static int rank(int key,int[] a)
	    {
	        return rank( key,a,0,a.length-1);
	    }
	    public static int rank(int key,int[] a,int lo,int hi){
	        if (lo>hi) return -1;
	        int mid = lo + (hi - lo) / 2;//取到中间的那个值
	        if (key<a[mid]) return rank(key ,a,lo,mid-1);//当key小于中间值时
	        else if (key > a[mid]) return rank(key,a,mid+1,hi);//当key大于中间值时
	        else return mid;
	    }
	}

猜你喜欢

转载自blog.csdn.net/qq_46178251/article/details/107453417