算法复杂度幻灯片.pptVIP

  • 7
  • 0
  • 约1.2千字
  • 约 4页
  • 2019-07-01 发布于山东
  • 举报
有关算法的复杂度 算法的评价主要从时间复杂度和空间复杂度这两个维度来考虑。 1、时间复杂度 (1)时间频度:一个算法中的语句执行的次数成为时间频度,记为T(n) 例如:选择排序 For i:=1 to n-1 do For j:=i+1 to n do if a[i]a[j] then begin tmp:=a[i]; A[i]:=a[j]: A[j]:=tmp; End; 本句执行n-1次 不确定,和输入数据有关 同上 同上 (2)时间复杂度 在刚才的时间频度中,n称为问题的规模,当n不断变化时,T(n)也会不断变化,但有时我们需要了解T(n)随n变化的规律,这成为时间复杂度。 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋向于无穷大时,T(n)/f(n)的极限值是一个不等于0的常数,则称f(n)是T(n)的同数量级的函数,记作T(n)=O(f(n)),称O(f(n))为算法的时间复杂度。 如刚才的选择排序: 最好的情况:T(n)=n+(n-1)n/2+(n-1)n/2=n2 最坏的情况:T(n)=n+5* (n-1)n/2=5n2/2-3n/2 虽然时间频度不同,但时间复杂度都是O(

文档评论(0)

1亿VIP精品文档

相关文档