什么是算法?算法是解决问题的步骤。算法有优劣。比如用洗衣服,算法可以是,先放洗衣粉,然后用脚踩,之后清洗,也可以直接丢进洗衣机里面洗。这是两种算法。
算法的特性:算法的有穷性,确定性,有效性,有0个或多个输入,有一个或多个输出。
有穷性指的是,算法的步骤是有限的,而且执行的时间在可以忍受的范围之内,合理的范围之内。
确定性指的是,算法是没有歧义的,比如说要举手,就是有歧义,是举右手还是举左手,还是两只手都举?
有效性指的是,每一个步骤能够得到有效的执行,比如1/0 就不能有效的执行。
算法的表示,怎么表示算法?
可以用自然语言表示,但是自然语言表示起来太麻烦了。
也可以用流程图,流程图有BS类型的流程图,这种类型的流程图,比较无规律,看起麻烦。
于是出现了NS流程图,用大矩形来表示整个算法。很方便。
也可以用伪代码,伪代码是介于自然语言和编程语言之间的语言,没有什么规范比较自由。能清晰的表示算法就行了,不注重语法什么的。
也可以用计算机语言来表示,这就是用编程语言表示。
什么是结构化程序设计?
自顶向下,逐步细分,模块化设计,结构化编程。
先知道要干嘛,然后一一细分下去各个部分怎么做,模块化设计就是要把各个功能分开,低耦合。
网友评论