数据结构算法错误校正与复杂度分析.pdfVIP

  • 0
  • 0
  • 约1.45万字
  • 约 17页
  • 2026-02-05 发布于北京
  • 举报

数据结构算法错误校正与复杂度分析.pdf

r=u%v;//增加

while(r!=0)

{u=v;

v=r;

r=u%v;//增加

}

return(v)

}

◼P10④循环语句(此部分倒数第2行)

2及循环体步数之和,最后加1次表达式1执行次数。while、……

另可以:for语句步程数=1+循环次数×(1+循环体+1)+1

第1个1:循环变量赋初值;

第2个1:循环条件表达式

第3个1:循环变量增加

第4个1:最后一次循环条件表达式

◼例4

流程图如下:

开始

s=0

1

i=1

1

1

n

i=10

y

10×3

s=s+i*i

i++

1

return(v)

结束

步程数为:1+1+10×(1+1+1)+1+134

渐近表示:О(1)

◼例5:

for语句:1+n×(2+1)+1=3n+2

步程数为:1+n×(2+1)+2+13n+4

渐近表示:О(n)

◼例6:

for语句:1+k(1+1+1)+1=3k+2

步程数为:1+3k+2+1=3k+4

k

因为n=2,k=logn

2

所以步程数为:3logn+4

2

渐近表示:О(logn)

*因为对数的底数可以通过换底换为其它底数,如logn可转换

2

为Clogn,C=1/log2。所以对数的渐近表示其底数舍弃,表示底数

33

可以是大于1的任何数值。

算法分析结果得出的底数一般是2。

◼例7:

内层j循环步程数:1+k(1+1+1)+1=3k+2

外层i循环步程数:1+n(1+(1+1+3k+2+1)+1)+1(3k+7)n+2

步程数:1+(3k+7)n+2+1=(3k+7)n+43nlogn+7n+4

2

渐近表示:О(n·logn)

◼例8:

内层j循环步程数:1+n(1+1+1)+13n+2

2

外层i循环步程

文档评论(0)

1亿VIP精品文档

相关文档