算法(Algorithm):是对特定问题求解方法(步骤)的一种描述,是指令 的有限序列,其中每一条指令表示一个或多个操作。 #include int main() { int ans=0,i; for(i=1;i int main() { int ans=(1+100)*100/2; printf("%d",ans); return 0; }
算法特性: ① 有穷性: 一个算法必须总是在执行有穷步之后结束,且每一步都在 有穷时间内完成。 ② 确定性:算法中每一条指令必须有确切的含义。不存 在二义性。且算法只有一个入口和一个出口。 ③ 可行性: 一个算法是能 行的。即算法描述的操作都可以通过已经实现的基本运算执行有限次来实 现。 ④ 输入: 一个算法有零个或多个输入,这些输入取自于某个特定的对 象集合。 ⑤ 输出: 一个算法有一个或多个输出,这些输出是同输入有着 某些特定关系的量。
算法描述 自然语言:用自然语言来描述算法的优点是简单且便于人们对算法的阅 读。缺点是不够严谨。 N-S 盒图-程序流程图: 其特点是描述过程简洁、明了。
程序代码: 直接使用程序设计语言并不容易,而且不太直观,常常需要 借助于注释才能使人看明白。
伪代码: 伪码语言介于高级程序设计语言和自然语言之间,它忽略高级 程序设计语言中一些严格的语法规则与描述细节,
算法设计的要求 ① 正确性(Correctness ): 算法应满足具体问题的需求。 ② 可读性 (Readability): 算法应容易供人阅读和交流。可读性好的算法有助于对算 法的理解和修改。 ③ 健壮性(Robustness): 算法应具有容错处理。当输 入非法或错误数据时,算法应能适当地作出反应或进行处理,而不会产生 莫名其妙的输出结果。 ④ 通用性(Generality): 算法应具有一般性 ,即 算法的处理结果对于一般的数据集合都成立。