初步接触数据结构——算法

来源:互联网 发布:剑灵捏脸数据图导入 编辑:程序博客网 时间:2024/05/29 18:54

                当我们把一个实际问题抽象为一个适合的数学模型时,需要为这个模型设计一个合适的算法,以便我们解决实际问题,那么算法就是为解决某问题而采取的具体的,有限的操作步骤,这时候算法就成为了解决问题的核心。

         算法具有五个特性分别为有穷性:步骤有限;确定性:定义确切;可行性:机器可以执行;零个或多个输入和一个或多个输出,这是算法的基本特征。

         算法是解决问题的关键,算法的好坏关系到问题解决的结果,那么一个好的算法就要考虑达到以下的目标:

         1.正确性:a.程序不含语法错误;b.程序对于几组输入数据能够得出满足要求的结果;c.对精心选择带有刁难性的几组数据能得出满足要求的结果;d.程序对于一切合法的输入数据都能产生满足要求的结果

         2.可读性:算法主要是为了人的阅读和交流。其次才是机器的执行,良好的可读性利于人对于算法的理解,容易进行调试和修改。a.有适当的注释,书写规范,方便其他程序员阅读,复用;b.遵循一定的命名规则:普通变量名:小写字母;结构体类型名:开头字母大写。

        3.健壮性:当输入数据非法时,算法能适当地作出反应或进行处理,保证不会产生莫名其妙的输出结果。处理出错的方法是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理,不应中断程序的执行。

       4.效率和低存储量需求:效率是算法执行的时间,同一个问题有多种解决算法,执行时间少的效率高。存储量需求是算法执行过程中所需要的最大存储空间。利用越少的存储空间和最少的执行时间,这是对算法的要求。效率和低存储量需求和问题的规模有关。

       通常解决一个问题可以有多种算法,我们需要选择一个优秀的算法来解决问题, 评价算法优秀的重要依据是算法执行时所需的资源——算法的时间复杂度和空间复杂度,并且还与问题的规模和初始状态有关。我们需要估算一个算法的效率和存储量需求,从而选择合适的算法。

原创粉丝点击