算法基础:N-S流程图与基本结构解析

需积分: 10 2 下载量 38 浏览量 更新于2024-07-14 收藏 2.5MB PPT 举报
"N-S流程图用于表示算法,包括有穷性、确定性、可行性、输入和输出等基本特性的概念。算法的优劣主要通过正确性、可读性、健壮性、时间复杂度和空间复杂度来衡量。自然语言和流程图是描述算法的两种方法,其中流程图使用特定的图形符号,如起止框、输入/输出框、判断框、处理框等,以直观展示算法执行过程。Bohra和Jacopini提出的三种基本结构——顺序结构、选择结构和循环结构,是构建任何算法的基础。顺序结构遵循操作的线性顺序执行。" N-S流程图是一种经典的算法表示方式,它在C语言算法的讲解中常被用来帮助理解和设计程序。算法是解决问题的精确步骤序列,具有五项关键特征:有穷性意味着算法必须在有限步骤内终止;确定性是指算法的每一步都有明确的定义,不会出现二义性;可行性表示算法的每一步在实际计算环境中都可以执行;输入是算法处理的数据来源;输出则是算法计算后的结果。 在评估算法的质量时,我们关注以下几个核心指标:正确性是指算法能否正确解决预定问题;可读性关乎代码的易读性和理解性,这对维护和调试至关重要;健壮性意味着算法能处理异常或不完全的输入数据;时间复杂度和空间复杂度则分别衡量算法运行时间和所需内存,这两者直接影响算法的效率。 自然语言描述算法简单直接,适合初学者理解。例如,实例2.1展示了如何使用自然语言描述计算阶乘的过程,而实例2.2解释了找出三个数中最小值的逻辑。流程图作为另一种描述工具,通过图形化表示操作流程,如实例2.3所示,清晰地描绘了输入三个数并按升序输出的步骤。 Bohra和Jacopini的理论指出,所有算法都可以用顺序、选择(条件分支)和循环(重复)这三个基本结构组合构建。顺序结构是最基础的,它按照语句的排列顺序执行;选择结构涉及条件判断,根据条件执行不同分支;循环结构允许重复执行某些操作,直到满足特定条件为止。这三种结构是编写任何程序的基础,通过它们可以构建复杂的算法流程。