分享

第一章1.2 算法的本质,5个特性与要求

 新用户49272060 2022-04-19

算法的本质是解决问题的方法,是思想。

在早期的时候,人们遇到新问题,必须要去解决它,经过“冥思苦想”,“反复探索尝试”,最后总结归纳。

这才形成了今天我们学习的各种算法。

如果无法领会到解决问题的思想,无法总结归纳,就会有:“学算法有什么用?”。

不知道为什么学,自然会认为学了没意义,没有用处。

————————————————————————————

算法的5个重要特性:

①有穷性: 一个算法必须总是在执行有穷步之后结束,且每一步都可在有穷时间内完成。
②确定性:算法中的每条指令必须有确切的含义,不会产生二义性,并且对于相同的输入只能得出相同的输出。
③可行性:算法中的操作都是可以通过已经实现的基本运算执行有限次数实现。
④输入: 一个算法有零个或多个输入,这些输入取自于某个特定的对象集合。

⑤输出:一个算法有一个或多个的输出,这些输出是同输入有着特定关系的量。

算法总是要解决特定的问题,问题来源就是算法的输入,期望的结果就是算法的输出,没有输入输出的算法是无意义的。



算法设计的5个要求:
①正确性:最基本要求,算法必须能解决某个问题的需求。
②可读性:算法的可读性有助于人的阅读与交流,容易调试和修改。
③健壮性:当输入的数据非法时,算法能适当做出反应或进行处理,而不会产生莫名其妙的输出结果。
④效率性:算法是为了解决大规模问题,因此需要运行效率足够快。
⑤存储性:算法在执行过程中,所需要的最大存储空间,应该尽可能的占用小。
效率性与存储性都与问题规模有关,求100人的平均分与求1000人的平均分,同一个算法的所花费的执行时间与存储空间显然是不一样的。

正确性,可读性,健壮性不仅仅是算法设计的要求,而是贯穿整个软件设计层次。

单对于算法本身来说,我们最关注的层面是效率性。

千万不能死板的认为,算法就是计算机程序。

算法是一切解决问题的思想,语言描述,伪代码,流程图,各种符号或者控制表格同样是算法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多