zoukankan      html  css  js  c++  java
  • 普林斯顿公开课 算法1-3:数学模型

    本节主要通过建立数学模型。来计算算法的执行时间。


    公式


    算法的执行时间=全部操作的开销乘以操作的次数之和


    开销


    下表展示了各种操作所须要的时间(单位:纳秒)

    • 整数加法 2.1

    • 整数乘法 2.4

    • 整数除法 5.4

    • 浮点加法 4.6

    • 浮点乘法 4.2

    • 浮点除法 13.5

    • sin 91.3

    • arctan 129.0


    举例


    问题


    计算数据中0的个数


    代码


    1
    2
    3
    4
    int count = 0;
    for (int i= 0; i < N; i++)
        if (a[i] == 0)
            count++;


    操作次数统计


    变量定义 2次

    赋值操作 2次

    小于比較 N+1次

    等于比較 N次

    数组訪问 N次

    添加操作 N 到 2N次


    终于的开销


    2+2+N+1+N+N+1.5N = 5+4.5N


    数学模型


    在计算算法执行时间的时候,能够忽略系数较低的项。比方:N^3 + 20N + 16 能够简化成 N^3。


    原则上来说。精确的数学模型是有的。

    可是实际应用中,精确的公式很复杂,所以普通情况下都使用近似模型。在本课程中採用了近似模型。

  • 相关阅读:
    BeautifulSoup
    requests
    安装xpath helper
    取消搜狗输入法的快捷键
    numpy初识 old
    Jupyter Notebook 快捷键
    安装numpy、matplotlib
    JavaScript 继承 -JavaScript高级程序设计
    mac /windows
    unicode 地址
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/9962868.html
Copyright © 2011-2022 走看看