zoukankan      html  css  js  c++  java
  • 程序的灵魂-算法

    数据结构只是静态的描述了数据元素之间的关系。

    高效的程序需要在数据结构的基础上设计和选择算法。高效的程序包括恰当的数据结构与合适的算法。

    算法是特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是独立存在的一种解决问题的方法和思想。对于算法而言,语言并不重要,重要的是思想。前面这句,要一分为二的看,在算法设计的时候,这句话成立。

    算法的特性:

    输入:算法具有0个或多个输入。

    输出:算法至少有1个或多个输出。

    有穷性:算法在有限的步骤之后会自动结束而不会无限循环。

    确定性:算法中的每一步都有确定的含义,不会出现二义性。

    可行性:算法的每一步都是可行的。

    算法设计准则之一正确性:

    1.、算法对于合法数据能够得到满足要求的结果。

    2.、算法能够处理非法输入,并得到合理的结果。

    3、算法对于边界数据和压力数据都能得到满足要求的结果(不强制要求)。

    注意:正确性是算法最需要满足的基本的准则,但是作为计算机程序,不可能无限制的满足这条准则。

    算法设计准则之二可读性:算法要方便阅读,理解和交流。

    算法设计准则之三健壮性:算法不应该产生莫名其妙的结果。

    算法设计准则之四高性价比:利用最少的时间和资源得到满足要求的结果。

    注意:算法可读性是最容易被忽视的,然而,程序是写给人看的,而不是计算机。

    小结:

    1、算法是为了解决实际问题而设计的

    2、数据结构是算法需要处理的问题载体

    3、数据结构与算法相辅相成

    程序 = 数据结构 + 算法

  • 相关阅读:
    NTP on FreeBSD 12.1
    Set proxy server on FreeBSD 12.1
    win32 disk imager使用后u盘容量恢复
    How to install Google Chrome Browser on Kali Linux
    Set NTP Service and timezone on Kali Linux
    Set static IP address and DNS on FreeBSD
    github博客标题显示不了可能是标题包含 特殊符号比如 : (冒号)
    server certificate verification failed. CAfile: none CRLfile: none
    删除文件和目录(彻底的)
    如何在Curl中使用Socks5代理
  • 原文地址:https://www.cnblogs.com/sanshijvshi/p/10741388.html
Copyright © 2011-2022 走看看