zoukankan      html  css  js  c++  java
  • 数据结构中的频度含义

    来源与百度百科,网址:https://baike.baidu.com/item/数据结构频度/111405?fr=aladdin

    数据结构频度

    编辑
    数据结构中,频度是指一个定义变量在它的函数中,并且是它在执行到该段语句为止时,这个定义变量在函数总共执行基本操作的次数。
     
    中文名
    数据结构频度(语句频度)
    含    义
    在函数总共执行基本操作的次数
    领    域
    计算机
    语    言
    c语言
    例如下函数中各行频度n的计算:
    for(i=0;i<n;i++) ----------------------------- (1)
    {
    for(j=0;j<n;j++) ------------------------- (2)
    {
    c[i][j]=0; ------------------------------ (3)
    for(k=0;k<n;k++) ------------------- (4)
    c[i][j]=c[i][j]+a[i][k]*b[k][j]; ------- (5)
    }
    }
    (1.) for(i=0;i<n;i++) 频度为: n+1
    (2.) for(j=0;j<n;j++)   n*(n+1)
    (3.) c[i][j]=0 n*n
    (4.) for(k=0;k<n;k++) n*n*(n+1)
    (5.) c[i][j]=c[i][j]+a[i][k]*b[k][j] n*n*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 , j 得到的赋值也是从0到n ,都是 n次,此时(当 i 达到n-1 .当 j 达到 n-1.)的 i++ j++都不会执行。 故,频度共 n*n 次;
    (4). 同上(1),(2)的理由,单独的(4)的for 循环执行了n+1 次,综上,频度为 n*n*(n+1);
    (5). 同理(3),对于三个for 循环, i 得到的赋值只有从 0 到 n , j 得到的赋值也是从0到n ,k得到的赋值也是从 0 到 n ,即,频度为n*n*n。
  • 相关阅读:
    dhcp服务配置
    配置一台时间服务器
    创建kvm虚拟机
    实现跳板机
    双向同步使用unison
    17、 Shell脚本题:编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下。
    find 命令
    权限管理:建立一个经理组
    使用sudo命令
    [转]tftp在put上传的时候显示File not found的解决办法
  • 原文地址:https://www.cnblogs.com/phaLQ/p/9691269.html
Copyright © 2011-2022 走看看