算法基础:N-S流程图与基本结构解析
需积分: 10 38 浏览量
更新于2024-07-14
收藏 2.5MB PPT 举报
"N-S流程图用于表示算法,包括有穷性、确定性、可行性、输入和输出等基本特性的概念。算法的优劣主要通过正确性、可读性、健壮性、时间复杂度和空间复杂度来衡量。自然语言和流程图是描述算法的两种方法,其中流程图使用特定的图形符号,如起止框、输入/输出框、判断框、处理框等,以直观展示算法执行过程。Bohra和Jacopini提出的三种基本结构——顺序结构、选择结构和循环结构,是构建任何算法的基础。顺序结构遵循操作的线性顺序执行。"
N-S流程图是一种经典的算法表示方式,它在C语言算法的讲解中常被用来帮助理解和设计程序。算法是解决问题的精确步骤序列,具有五项关键特征:有穷性意味着算法必须在有限步骤内终止;确定性是指算法的每一步都有明确的定义,不会出现二义性;可行性表示算法的每一步在实际计算环境中都可以执行;输入是算法处理的数据来源;输出则是算法计算后的结果。
在评估算法的质量时,我们关注以下几个核心指标:正确性是指算法能否正确解决预定问题;可读性关乎代码的易读性和理解性,这对维护和调试至关重要;健壮性意味着算法能处理异常或不完全的输入数据;时间复杂度和空间复杂度则分别衡量算法运行时间和所需内存,这两者直接影响算法的效率。
自然语言描述算法简单直接,适合初学者理解。例如,实例2.1展示了如何使用自然语言描述计算阶乘的过程,而实例2.2解释了找出三个数中最小值的逻辑。流程图作为另一种描述工具,通过图形化表示操作流程,如实例2.3所示,清晰地描绘了输入三个数并按升序输出的步骤。
Bohra和Jacopini的理论指出,所有算法都可以用顺序、选择(条件分支)和循环(重复)这三个基本结构组合构建。顺序结构是最基础的,它按照语句的排列顺序执行;选择结构涉及条件判断,根据条件执行不同分支;循环结构允许重复执行某些操作,直到满足特定条件为止。这三种结构是编写任何程序的基础,通过它们可以构建复杂的算法流程。
2021-11-22 上传
2023-08-02 上传
2022-05-30 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-09-29 上传
2023-06-27 上传
2021-05-27 上传
xxxibb
- 粉丝: 22
- 资源: 2万+
最新资源
- 制作VC++启动界面——可显示图片的关于窗口
- Comprice:trade_mark: - 价格比较-crx插件
- webchallenge-vanillaJS
- 基于pytorch的图像修复校准
- software:软件
- GDataDB:Net的Google Spreadsheets的类似于数据库的界面
- hall_admin:我在GitHub上的第一个存储库
- Programmazione_di_Rete:网络编程项目 - Java RMI(罚款)
- vfs dropbox plugin:适用于Apache Commons VFS的Dropbox插件-开源
- YUV2RGB.dll YUV转换RGB算法的API封装
- Alitools Shopping Assistant-crx插件
- JinShop:Minecraft有趣而高效的PythonFlask商店
- googleImageSearch:使用谷歌图像搜索api并在网格交错视图中显示结果
- 免费倒酒:调酒师工具-图灵学校FEE计划MOD 3的Solofinal项目
- Windows日志外发配置
- 速卖通图片搜索-crx插件