zoukankan      html  css  js  c++  java
  • 程序优化--效率的计算

    通过计算一个程序执行所用时间,得出算法是否高效率

    long start=System.currentTimeMillis();系统当前时间(距离1970年1月1日午夜过去了多长时间--以毫秒计)

    ....算法

    long end=System.currentTimeMillis();

    System.out.println("所用时间"+(end-start)+"毫秒");

    题:列出1到100内的所有质数

    以下程序为了明确计算算法效率,改为1到100000内的质数

     1 class TestZhiShu 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         long start=System.currentTimeMillis();
     6         for(int i=1;i<=100000;i++){
     7             int k=0;//定义一个变量
     8             for(int j=1;j<=i;j++){
     9                 
    10                 int sum=i%j;//用每次遍历的数取模从1到它本身
    11                 if(sum==0)
    12                     k++;//如果可以整除,k++
    13                 if(k>2)
    14                     break;//一旦k>2肯定不是质数,就跳出循环,节约执行时间增加效率
    15             }
    16             if(k<=2){//因为质数只能被1和它本身整除,所以k<=2时输出这个数
    17                 System.out.println(i);
    18             }
    19         }
    20         long end=System.currentTimeMillis();
    21         System.out.println("执行时间为"+(end-start)+"毫秒");//29539毫秒;bresk优化后9469毫秒
    22     }
    23 }

    运行结果:(优化前)

    优化后:

  • 相关阅读:
    函数
    关联子查询
    子查询
    视图(VIEW)
    顺时针打印矩阵
    二叉树的镜像
    树的子结构
    将两个有序链表合并
    反转链表
    输出链表中倒数第k个结点
  • 原文地址:https://www.cnblogs.com/yunqing/p/4731267.html
Copyright © 2011-2022 走看看