zoukankan      html  css  js  c++  java
  • 算法中的增长率(Rate of Growth)是什么意思?

    一个函数或算法的代码块花费的时间随输入增长的速率称为增长率。

    假设你去买一辆小车和一辆自行车。如果你朋友刚好看到,问你在买什么,我们一般都会说:买小车。因为买小车比买自行车花费高多了。

    【总花费=小车的花费+自行车的花费】

    【总花费≈小车的花费(近似)】

    对于上面的例子,我们用一个函数来表示买车的花费,这个函数忽略低阶指数的项(相对于高阶项,他们的对函数结果的影响很小)。下面这个例子中n4 , 2n2, 100n, 和 500 分别是某个函数对应不同输入的花费,可以把它近似到n4,因为它的增长率最高。

    【n4 + 2n2 + 100n + 500n ≈ n4

    下面是一些我们在程序设计过程中经常会遇到的增长率:

    Time Complexity Name Example
    1 Constant Adding an element to the front of a linked list
    log n Logarithmic Finding an element in a sorted array
    n Linear Finding an element in a unsorted array
    nlog n Linear Logarithmic Sorting n items by ‘Divide and Conquer’
    n2 Quadratic Shortest path between 2 nodes in a graph
    n3 Cubic Matrix Multiplication
    2n Exponential The Towers of Hanoi problem
    Copyright © 2015 programnote
  • 相关阅读:
    2013年3月1日星期五
    2013年2月26日星期二本地图片预览
    2013年3月2日星期六
    2013年第10周三低潮
    2013年第9周日见同学
    header发送Cookie
    HTTP Cookie header 中setcookie格式
    多台服务器共享session问题
    PHP中header头设置Cookie与内置setCookie的区别
    session原理及实现共享
  • 原文地址:https://www.cnblogs.com/programnote/p/4689609.html
Copyright © 2011-2022 走看看