数据结构浅析(五)

    何为好的算法?

    1.正确性:算法中的正确通常包含几种含义。

        1)程序不含语法错误。

        2)程序对于输入的几组数据得出满足要求的结果。

        3)程序对于经典、苛刻、有刁难性的几组数据得出满足要求的结果。

        4)程序对于一切合法数据得出满足要求的结果。

通常满足第三条即可衡量一个程序是否合格。

    2.可读性:算法先是给人阅读,其次才是给机器执行。可读性好有助于帮助人理解算法,可读性差的算法不但会隐藏很多错误,还难以调试和修改。

    3.健壮性:并非一切输入的数据都能得到正常的结果,当用户输入一些非法数据的时候,例如进行除法运算,输入的除数为0,这样就会产生一个错误的结果。为了防止这种情况,我们需要对除数进行判断,这样我们的程序才更加友好。

    4.效率与低存储:效率就是算法的执行时间,对于同一问题如果有多重算法可以解决,哪个算法用时越短,效率越高。如果效率相似,那么占用存储空间越小越好。效率和存储跟问题规模有关系,例如1-100求和和1-100万求和显然是有差别的。

猜你喜欢

转载自blog.csdn.net/a7442358/article/details/80194240