1.2.3 设计算法
参加信息学竞赛到底是要学的是什么呢?算法。
那么什么是算法?
. 1.1 2.3.1 算法有什么用
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。通俗地说算法就是解决问题的过程被机械地执行的动作或指令的有穷集合。算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。
算法的五个重要的特征:
有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止;
确切性:算法的每一步骤必须有确切的定义;
输入项(input):一个算法有 0 个或多个输入,以刻画运算对象的初始情况,所谓 0 个
输入是指算法本身定出了初始条件;
输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
. 1.2 2.3.2 算法分析
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。算法的时间复杂度是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模 n 的函数 f(n),算法的时间复杂度也因此记做 T(n)=O(f(n))。算法的空间复杂度是指算法需要消耗的内存空间。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
. 1.3 2.3.3 如 何描述算法
使用自然语言或者是用流程图。
自然语言描述算法(用我们平时交流的语言)
求半径为 R 的圆周长 L 和面积 S 的算法实例。
①程序开始
②从键盘输入 R 的值
③计算 L=23.14R
④计算 S=3.14*R"R
⑤输出 L,S
⑥程序结束
流程图描述算法
求半径为 R 的圆周长 L 和面积 S 的算法实例。
开始或结束 处理 输入或输出
连接框 判断 流程线
图 1.1 流程图
① 完整的流程图必须包舍唯一的“开始”和“结束”;
② 判断框内写明判断条件,它有两个退出点,代表不同的处理;
③ 流程图的整体是自上而下的;
④ 图形符号内的语言要简练。
1.用流程图描述以下算法:
输入一个学生成绩 A,判定等级,大于等于 90 分输出优秀,小于 60 分到 90 分(不包含
90)输出良好,小于 60 分输出不合格。
来源:CSDN
作者:普青落
链接:https://blog.csdn.net/dgyshy/article/details/104463577