数据结构与算法第1章.pptVIP

  • 2
  • 0
  • 约1.22万字
  • 约 84页
  • 2017-06-03 发布于北京
  • 举报
通常,从算法中选取一种对于研究的问题来说是基本操作的原操作,以该基本操作重复执行的次数作为算法执行的时间度量。 例, for ( j = 1 ;j=n ;j++ ) X = X + 1 ; for ( i = 1 ;i=n ;i++ ) (c) for ( i = 1 ;i=n ;i++ ) X = X + 1 ; (b) X = X + 1 ; (a) 基本操作重复执行的次数分别为 1,n,n2 频度: 语句重复执行的次数称为该语句的频度,记f(n)。 设算法的问题规模为n; 时间复杂度: 算法执行时间度量,记T(n)=O( maxlevel(f(n)) )。 对算法各基本操作的频度求和,便可得算法的时间复杂度。 但实际中我们所关心的主要是一个算法所花时间的数量级,即取算法各基本操作的最大频度数量级。 f(n) = 1 + n + n2 + n3 T(n) = O( n3 ) O的数学定义: 若T(n)和f(n)是定义在正整数集合上的两个函数,则如果存在正常数C和n0,使得当n≥n0时,总满足0≤T(n)≤Cf(n),则记做T(n)=O(f(n)) 也就是只求出T(n)的最高阶(数量级),忽略其低阶项和常系数,这样既可简化T(n)的计算,又能比较客观地反映出当n很大时,算法的时间性能。 2个N*N矩阵相乘 for (i= 1; i=n; ++i)

文档评论(0)

1亿VIP精品文档

相关文档