当前位置: 首页 > news >正文

算法描述的5种方法(非常详细)

在 C语言中,有 5 种常用的算法描述方法:自然语言、流程图、N-S 图、伪代码和程序设计语言。

1. 自然语言描述算法

自然语言就是我们日常使用的各种语言,可以是汉语、英语、日语等。

用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较直观、容易理解。缺点是如果算法中包含了判断结构和循环结构,并且操作步骤较多时,就显得不那么直观清晰了。

2. 用流程图描述算法

用流程图描述算法就可以解决上述缺点。所谓流程图(Flow Chart),是指用规定的图形符号来描述算法(见表 1)。

表 1:流程图常用的图形符号
图形符号名称含义

起止框程序的开始或结束

处理框数据的各种处理和运算操作

输入/输出框数据的输入和输出

判断框根据条件的不同,选择不同的操作

连接点转向流程图的他处或从他处转入

流向线程序的执行方向

结构化程序设计方法中规定的三种基本程序流程结构(顺序结构、选择结构和循环结构)都可以用流程图明晰地表达出来(见图 1)。

图 1:用流程图表示的顺序结构、选择(条件分支)结构、循环结构三种流程

3. 用 N-S 图描述算法

虽然用流程图描述的算法条理清晰、通俗易懂,但是在描述大型复杂算法时,流程图的流向线较多,影响了对算法的阅读和理解。因此有两位美国学者提出了一种完全去掉流程方向线的图形描述方法,称为 N-S 图(两人名字的首字母组合)。

N-S 图使用矩形框来表达各种处理步骤和三种基本结构(见图 2),全部算法都写在一个矩形框中。

图 2:用 N-S 图表示的顺序结构、选择(条件分支)结构、循环结构三种流程

图 3 展示了分别用自然语言、流程图和 N-S 图解决同一问题的算法描述。

图 3:分别用自然语言、流程图和 N-S 图描述的算法

4. 用伪代码描述算法

伪代码是用在更简洁的自然语言算法描述中,用程序设计语言的流程控制结构来表示处理步骤的执行流程和方式,用自然语言和各种符号来表示所进行的各种处理及所涉及的数据(见图 4)。它是介于程序代码和自然语言之间的一种算法描述方法。这样描述的算法书写比较紧凑、自由,也比较好理解(尤其在表达选择结构和循环结构时),同时也更有利于算法的编程实现(转化为程序)。

图 4:常见的三种流程结构的伪代码

5. 用程序设计语言来描述算法

算法最终都要通过程序设计语言描述出来(编程实现),并在计算机上执行。程序设计语言也是算法的最终描述形式(见图 5)。无论用何种方法描述算法,都是为了将其更方便的转化为计算机程序。


图 5:用伪代码和程序设计语言(C语言)描述的算法

#include <stdio.h> int main(){ int S=0; int i=0; while(i<100) { i=i+1; S=S+i; } printf("1+2+3+…+100=%d",S); system("pause"); }
http://www.gsyq.cn/news/1497625.html

相关文章:

  • 小程序毕业设计-基于Springboot+Vue+微信小程序智能停车场管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 2026 云浮厨卫屋面地下室漏水瓷砖空鼓测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • 2026丽水缙云木门定制,选对不踩坑
  • 如何在Linux上轻松搞定RTL8821CU无线网卡驱动:终极安装指南
  • 鸿蒙原生开发进阶:ArkUI 空间化引擎底层架构揭秘,六大渲染机制全景拆解
  • 2026年保定市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • Gemma 4 12B 实战:本地代码生成、OpenClaw 和 QVeris 工具调用
  • 2026 惠州厨卫屋面地下室漏水瓷砖空鼓测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • 南昌废旧金属回收:揭秘通信电缆价值变现
  • 国内知名大模型有哪些?一文盘点主流开源大模型
  • 抖音没空守私信?AI 全天候自动回复,评论区精准截流导私域
  • 如何用ollama-python构建智能PDF文档分析工具:5分钟快速上手指南
  • 太阳能安防摄像头出海首选 Metrix 全球IoT SIM卡
  • 阳泉市2026年5月最新黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金门店地址联系方式推荐 - 千叶啊
  • verilog 环形移位寄存器电路逻辑解析
  • 豆包城市分站 + AI 营销组合玩法,本地企业全域引流实战解析
  • 北京陈年老酒回收怎么定价?丰宝斋揭秘老酒估价核心标准 - 光耀华夏品牌榜
  • 帮我推荐一家导电银浆回收厂家:依据4项硬性指标精准匹配资源 - 品牌2026
  • 传世无双官方下载指南2026最新入口 装备强化全流程拆解
  • 计算机小程序毕设实战-基于微信小程序的智能停车场管理系统基于springboot+微信小程序的智能停车场管理系统小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2026年河北制造业企业如何被AI推荐:GEO优化与短视频获客完全实战指南 - 年度推荐企业名录
  • Codex级产品!ToDesk AI 实测,用 Prompt 接管你的工作流
  • 专业的义乌做墨西哥货代推荐
  • 阿坝藏族羌族自治州2026年5月最新黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金门店地址联系方式推荐 - 千叶啊
  • 邯郸市2026年黄金回收白银回收铂金回收放心选真心推荐靠谱门店排行+联系电话整理 - 干豆腐啊
  • 鞍山市2026年5月最新黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金门店地址联系方式推荐 - 千叶啊
  • 2026年值得信赖的新加坡留学机构:五家优选深度解析 - 科技焦点
  • 陇南市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • Oracle与HP红蓝聚首之后:数据库一体机赛道的风云变幻
  • 2026重庆黄金回收门店综合榜单,闲置黄金置现避坑全攻略 - 奢侈品回收测评