算法设计:第3讲——2013.pptVIP

  • 6
  • 0
  • 约2.57千字
  • 约 25页
  • 2018-08-24 发布于湖北
  • 举报
直接计算法:循环的次数与问题规模n直接或间接相关。 与问题规模n直接相关 x=0;y=0; for(k=1;k=n;k++) x=x+1; for(i=1;i=n;i++) for(j=1;j=n;j++) y=y+1; 非递归算法的时间复杂度分析方法 统计嵌套层数最多的语句的频度。 循环次数间接依赖规模n x=1; for(i=1;i=n;i++) for(j=1;j=i;j++) for(k=1;k=j;k++) x=x+1; 非递归算法的时间复杂度分析方法 执行次数:[n(n+1)(2n+1)/6+n(n+1)/2]/2 时间复杂度:O(n3) 循环次数间接依赖规模n 相关例题: (1)冒泡排序:内循环线性递减 (2)选手的竞技淘汰比赛:内循环呈n/2k递减(k=1,2,…log2n)——几何级数 (3)洗牌程序:内循环呈n/k递减(k=1,2,…,n)——调合级数 非递归算法的时间复杂度分析总结 直接计算法:使用循环次数已知的情况。 迂回计算法:循环结构中循环次数与循环体内语句的执行有联系。 先设循环次数为k 根据循环结束的条件求出k 计算算法复杂度的阶 迂回计算法 例1:算法 void

文档评论(0)

1亿VIP精品文档

相关文档