当前位置:编程学习 > JAVA >>

算法分析的框架

   对于一个算法,应该知道如何去衡量的时间效率以及空间效率。但是,现在多研究对时间效率的衡量,空间效率在硬件的快速发展下已经不是那么重要了。那如何度量时间效率呢,就是基本操作的次数。所谓基本操作的次数,举个例子来说,在一维数组里面求最大值:

 

[java]
public class ArrayTester2 { 
/**
* @param args
*/ 
public static void main(String[] args) { 
   int[] array = { 10, 20, 30, 40, 50, 60 }; 
   int max = array[0]; 
   for (int i = 1; i < array.length; i++) { 
    if (array[i] > max) { 
     max = array[i]; 
    } 
    
   } 
   System.out.printf(max); 

public class ArrayTester2 {
/**
* @param args
*/
public static void main(String[] args) {
   int[] array = { 10, 20, 30, 40, 50, 60 };
   int max = array[0];
   for (int i = 1; i < array.length; i++) {
    if (array[i] > max) {
     max = array[i];
    }
  
   }
   System.out.printf(max);
}
}
  在上面的这个例子中基本操作次数就是if语句的比较:array[i] > max,因为每次循环都会执行这个操作,而max=array[i],是在if语句成立的条件下才执行的。可以总结为一个规律,那就是基本操作次数是算法最内存循环中最费时的操作。

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,