算法

算法

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,
执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

/**
 * 1到100所有素数的和
 * 素数就是只能够被1和自身整除的数
 */
public class dd {
    public static void main(String[] args) {
        int i = 2; // i 即为所求素数
        System.out.println("i= " + i);
        for (i = 3; i <= 100; i = i + 2) {
            boolean f = true;
            Label: for (int j = 2; j < i; j++) {
                if (i % j == 0) { // if(true)时,i为非素数
                    f = false;
                    break Label; // 加了Label貌似只是起到提高效率
                }
            }
            if (f) {// 当f=true时,i为素数。
                System.out.println("i= " + i);
            }
        }
    }
}

/**
 *古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,
 *问每个月的兔子总数为多少? 
 *
 */
public class aa{
    public static void main(String[] args) {
        int i = 0;
        for (i = 1; i < 20; i++) {
            System.out.println(f(i));
        }
    }

    public static int f(int x) {
        if(x==1||x==2) {
            return 1;
        }else {
            return f(x-1)+f(x-2);
        }
    }
}

3.二叉树
4.
数据结构分为哪两种结构?
线性结构:线性表、栈、队列、串、?/span>
非线性结构:树、图、


  • 邮箱 :charon.chui@gmail.com
  • Good Luck!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值