zoukankan      html  css  js  c++  java
  • 算法复习(1)

      算法:特定的计算模型下,解决特定问题的指令序列。

      算法要具有:

      确定性 —— 由基本操作组成的序列

      有穷性与正确性 —— 经过有穷次基本操作,可以解决指定的问题

      可行性 —— 每一个基本操作都可以实现 

      这些是基本的,好的算法还要有鲁棒性,能处理各种退化情况。还要提高算法的可读性。

      对于算法,最重要的是效率!

     

      算法的复杂度包括时间复杂度和空间复杂度。每一次运行过程中消耗的存储空间,都不会多于操作次数,时间复杂度是空间复杂度的一个上界。除非针对特殊情况,一般不考试空间复杂度。

      度量渐进复杂度,常用大O记号,大O记号意味着最坏情况,例如起泡排序中的完全逆序。最好的情况情况与平均情况应用较少。

      算法的复杂度情况:

      O(1)常数复杂度,O(logn)对数复杂度,O(n)线性复杂度,O(n^c)多项式复杂度,O(2^N)指数复杂度。

      O(n^c)与O(2^n)是有效算法与无效算法的分界。

     

  • 相关阅读:
    假期学习总结2-14
    假期学习总结2-13
    假期总结2-12
    假期总结2-11
    读人月神话
    冲刺第五天 11.29 THU
    冲刺第四天 11.28 WED
    冲刺第三天 11.27 TUE
    冲刺第二天 11.26 MON
    冲刺第一天 11.23 FRI
  • 原文地址:https://www.cnblogs.com/itit/p/3424534.html
Copyright © 2011-2022 走看看