• 算法分析基础——几类常见的函数


    在分析算法时,常用的几类函数主要包括对数函数、指数函数、阶乘函数、取整函数。下文总结了一下这几类函数的阶的性质。

    一、对数函数

    性质1. log2N = Θ(logN)

    证明 用换底公式即得证。

    这一性质解释了为何,对于指数函数而言,在分析阶的关系时,可以不去考虑底数。

    性质2. logbN = ο(Nα), α > 0

    证明 由ln(n) = ο(nα),再结合性质1,即得证。

    性质3. alogb= nlogba

    证明 由 (logbn)(logba) = (logba)(logbn),再取b的指数,即得证。

    二、指数函数与阶乘

    (Sirling公式)

     

    由这一公式,可以得到以下关系:

    性质1. n! = ο(nn)

    性质2. n! = ω(2n)

    另外,对于阶乘函数取对数,我们还有下述性质:

    性质3. log(n!) = Θ(nlogn)

    证明

    知 log(n!) = Ω(nlogn)。另一方面,由

    知 log(n!) = O(nlogn)。

    综上可知,log(n!) = Θ(nlogn)。证毕。

    三、取整函数


    取整函数的主要性质如下:

    性质1. x - 1 < floor(x) ≤ x ≤ ceil(x) < x + 1

    性质2. ceil(x + n) = ceil(x) + n, n为正整数

    性质3. ceil(ceil(n / a) / b) = ceil(n / (ab)), floor(floor(n / a) / b) = floor(n / (ab)).

    证明过程是简单的,此处就省略了。值得注意的是,在二分查找与归并排序是,取的轴值皆是由向下取整函数得到。

  • 相关阅读:
    Django的中间件
    电脑端调手机端
    计算两个时间戳之间相差的时间
    去除html标签 php
    Tp5 一次修改多个数据update
    ThinkPhp5.0 引入全局自定义函数global
    layer 使用教程
    phpstrom 汉化
    phpcms 电脑手机合并
    vue 中 v-model
  • 原文地址:https://www.cnblogs.com/Jeffrey-Y/p/10298166.html
Copyright © 2020-2023  润新知