• 算法


    算法的五大特性

    1.输入:算法具有0个或多个输入
    2.输出:算法至少有1个或多个输出
    3.有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在接受时间内完成
    4.确定性:算法中的每一步都有确定的含义,不会出现二义性
    5.可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成

    时间复杂度
    T(n)=10*n^3
    但是在实际中具体分析实际价值有限 只需要大概量级
    所以用O(n^3)表示

    相同的算法应对不同的问题时可能会出现多种情况

    算法完成?作最少需要多少基本操作,即最优时间复杂度
    算法完成?作最多需要多少基本操作,即最坏时间复杂度(一般都是算这个)
    算法完成?作平均需要多少基本操作,即平均时间复杂度

    时间复杂度的?条基本计算规则
    1. 基本操作,即只有常数项,认为其时间复杂度为O(1)
    2. 顺序结构,时间复杂度按加法进?计算
    3. 循环结构,时间复杂度按乘法进?计算
    4. 分?结构,时间复杂度取最?值
    5. 判断?个算法的效率时,往往只需要关注操作数量的最?次项,其它次
    要项和常数项可以忽略
    6. 在没有特殊说明时,我们所分析的算法的时间复杂度都是指最坏时间复
    杂度

    空间复杂度
    类似于时间复杂度的讨论,?个算法的空间复杂度S(n)定义为该算法所耗费
    的存储空间,它也是问题规模n的函数。
    渐近空间复杂度也常常简称为空间复杂度。
    空间复杂度(SpaceComplexity)是对?个算法在运?过程中临时占?存储空间
    ??的量度。
    算法的时间复杂度和空间复杂度合称为算法的复杂度

    常?时间复杂度
    执?次数函数举例 阶 ?正式术语
    12 O(1) 常数阶
    2n+3 O(n) 线性阶
    3n +2n+1 O(n2) 平?阶
    5log n+20 O(logn) 对数阶
    2n+3nlog n+19 O(nlogn) nlogn阶
    6n3+2n2+3n+4 O(n3) ??阶
    22 O(22) 指数阶

    O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2**n) < O(n!) <
    O(n**n)
    算法:
    1.穷举法(枚举法)

  • 相关阅读:
    最小生成树(二)Prim算法
    红黑树
    最短路径:Dijstra(迪杰斯特拉)算法
    30岁的程序员,未来之路-写于疫情笼罩下的北京-中国-地球
    Spring Cloud 系列之Hystrix、Ribbon、Feign 源码剖析(一)引子
    A left join B B表有多条记录,max(create_time)取最新一条
    最新idea破解码,亲测可用
    Spring Cloud Gateway简单使用
    开源的C#实现WebSocket协议客户端和服务器websocket-sharp组件解析
    简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ解析
  • 原文地址:https://www.cnblogs.com/xujin247/p/11740542.html
Copyright © 2020-2023  润新知