• 数据结构与算法 : 算法与时间复杂度


    算法的五大特性 :

    1. 输入, 0 个或多个

    2. 输入 1 个或多个

    3. 有穷性

    4. 确定性

    5. 可行性

    如果一个算法执行效率(步骤) 标记成 T(n) = n^3 * 2  ,那么这个2 可以看作一个常数 k ,就可以写成 T(n) = n^3 * k 

    可以看出,如果改变常数k的值,并不会影响 T(n) 这个函数在坐标轴的走势,所以可以忽略掉这个常数,把它表示成 g(n) = n^3 

    那么 g(n) = n^3 就是 T(n) = n^3 * k 的 渐进函数 可以记作 T(n) = O(g(n)) 那么这个式子 就是这个算法的时间复杂度

    算法完成最少需要多少基本操作,叫最优时间复杂度

    算法完成平均需要多少基本操作,叫平均时间复杂度

    算法完成最多需要多少基本操作,叫最坏时间复杂度

    平时所说的时间复杂度,即最坏时间复杂度

    时间复杂度基本计算规则:

    1. 基本操作,基本语句,时间复杂度为 O(1)

    2. 顺序结构, 时间复杂度按 加法 计算

    3. 循环结构, 时间复杂度按 乘法 计算

    4. 分支结构, 取最大值 (即分支里面时间复杂度最坏的那条)

    5. 判断算法效率时,往往只需要关注操作数量的最高次项

    6. 一般分析时所称的时间复杂度都是最坏时间复杂度

  • 相关阅读:
    vsftpd 配置:chroot_local_user与chroot_list_enable详解
    rsync同步目录
    apache
    centos 7 服务管理
    PowerPoint’s Menu is Too Big
    测试网页返回值
    作为人的展现方式
    Java 日期与时间
    Java 随机数
    Character 类
  • 原文地址:https://www.cnblogs.com/cccy0/p/9111292.html
Copyright © 2020-2023  润新知