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)是有效算法与无效算法的分界。

     

  • 相关阅读:
    CF869E The Untended Antiquity 解题报告
    Walk 解题报告
    CF911F Tree Destruction 解题报告
    P4397 [JLOI2014]聪明的燕姿
    洛谷 P2329 [SCOI2005]栅栏 解题报告
    洛谷 P3747 [六省联考2017]相逢是问候 解题报告
    set-erase
    set-empty
    set-empty
    set-end
  • 原文地址:https://www.cnblogs.com/itit/p/3424534.html
Copyright © 2011-2022 走看看