常用数学函数

常用数学函数(数据结构所需基础)-不定期更新中…

  1. T(n):时间频度(或语句频度)->一条语句的执行次数称之为语句频度
  2. f(n)一般是指算法中最大的语句频度(时间频度),一般是最深层内的循环的语句频度
  3. O(f(n)) 时间复杂度 说的是时间增量与时间频度成正比 即当n趋近于个很大的数时 有T(n)=O(f(n))
for (int i = 0; i < n; i++) {    //频度 n+1
    for (int k = 0; k < n; k++) {  //频度 n*(n+1)
        int m = i + k;   //频度 n*n
        for (int j = 0; j < n; j++) {  //频度 n*n(n+1)
            Log.e("MM", "jj:>>>" + j);//频度 n*n*n
        }
    }
}

例(上述代码):
以上的语句频度即时间频度用T(n)表示: T(n) 是矩阵阶数n的函数
求和计算得出:T(n) = 2n3+3n2+2n+1;
当问题无穷大时,T(n)的数量级称为算法的渐进时间复杂度,标记为: T(n) = O(f(n))(称为大O标记) 或 (不常用)T(n)∈O(n^),
表示问题规模n无限增大时,算法的执行时间的增长率和f(n)的增长率相同,简称时间复杂度
f(n)一般是指算法中最大的语句频度(时间频度),一般是最深层内的循环的语句频度:
T(n) = 2n3+3n2+2n+1 -> f(n) = n^3, 即 时间复杂度为 O(n^3),

{
    int  temp;
    temp = 0;
    x=y;
    y=temp;
}

例(上述代码):
语句的执行频度为1,算法的执行时间是一个与问题规模无关的常数,所以算法的时间复杂度为常阶数,不管这个常数再大,它的时间复杂度都为T(n)=O(1)。

常用数学公式
斐波那契数

F 0 = 1 , F 1 = 1 , F 2 = 2 , F 3 = 3 , F 4 = 5 , . . . , F i = F i − 1 − F i − 2 F_0 = 1,F_1=1,F_2=2,F_3=3,F_4=5,...,Fi=F_{i-1}-F_{i-2} F0=1,F1=1,F2=2,F3=3,F4=5,...,Fi=Fi1Fi2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值