频度分析详解

频度分析详解

在数据结构中,频度是指一个定义变量在它的函数中,并且是它在执行到该段语句为止时,这个定义变量在函数总共执行基本操作的次数。

含义:在函数总共执行基本操作的次数

下函数中各行频度n的计算:

for(i=0;i

{

for(j=0;j

{

c[i][j]=0; ------------------------------ (3) 频度为: nn

for(k=0;k

c[i][j]=c[i][j]+a[i][k]b[k][j]; ------- (5) 频度为:nn*n

}

}

频度分析:

(1)i 变量在第一个 for 循环中,从取 i = 0 开始执行,直到i=n-1时为止,至此,i 执行了n次。加上最后i=n跳出循环的判断,故,频度共n+1 次;

(2). 与(1)不同,当 i 在 0~(n-1) 范围内,内层循环[即是(2)的for循环]频度为 n ; 当 i = n 时,内层循环语句没执行。所以相当此时第(1)中 for 循环执行了n次,第二个for 循环执行了n次,加上最后j=n跳出循环的判断,即,频度共 n * (n+1);

(3). 此句语句,是要利用(1)、(2)for循环语句的i ,j 对 c[i][j] 进行赋值,此时,i 得到的赋值只有从 0 到 n -1, j 得到的赋值也是从0到n-1 ,都是 n次,此时(当 i 达到n-1 .\当 j 达到 n-1.)的 i++ \j++都不会执行。 故,频度共 nn 次;

(4). 同上(1),(2)的理由,单独的(4)的for 循环执行了n+1 次,综上,频度为 nn*(n+1);

(5). 同理(3),对于三个for 循环, i 得到的赋值只有从 0 到 n , j 得到的赋值也是从0到n ,k得到的赋值也是从 0 到 n ,即,频度为nnn。

相关推荐

Xbox端HOME机制教程
365bet赌城投注

Xbox端HOME机制教程

📅 10-12 👁️ 6762
Win11软件打不开没响应怎么办?Win11软件打不开的解决方法
oracle - 存储没有时间的日期会使用更少的字节吗?
365bet足球真人

oracle - 存储没有时间的日期会使用更少的字节吗?

📅 08-28 👁️ 2389
2024年国外最热的9家众筹网站
完美365体育ios下载

2024年国外最热的9家众筹网站

📅 10-03 👁️ 5497
秋天的单词怎么写 秋天的单词怎么写英语
365bet赌城投注

秋天的单词怎么写 秋天的单词怎么写英语

📅 09-21 👁️ 2768
从U盘到本地硬盘(简单操作让U盘变身本地硬盘,数据管理更高效)