算法的基本特征
算法的基本特征
算法的定义
所谓算法是对特定问题求解步骤的一种描述,换而言之,算法给出了求解一个问题的大致思路和步骤,但是它还不是程序。
算法的 5个特征
- 有穷性:算法在有限步(或有限时间)之后算法终止。
- 确定性:每条指令或算法的步骤都无二义性,具有明确的含义。
- 可行性:算法中的操作都是已经实现的基本运算执行有限次来实现的。
- 输入:有0个或者多个输入量。
- 输出:一般至少一个输出量。
算法设计要求
- 正确性:无语法错误;对n组输入产生正确结果;对特殊输入产生正确结果;对所有的输入产生正确结果(层层递进,我们往往需要做到的是最后一个层级的正确性)。
- 可读性:算法主要是为了人的阅读与交流。
- 健壮性:不同的输入都要有相应的反应(合法的输入要有相对应的输出;不合法的输入也要有相对应的提示信息的输出)。
- 高效与低存储量
算法的描述工具
-
自然语言(和人平时交流一样);
-
程序设计语言(如C语言、Java语言等);
-
流程图(概图);
-
伪码语言(一种包括高级程序设计语言的三种基本结构(顺序、选择、循环)和自然语言成分的“面向读者”的语言);
-
类C语言(介于伪码语言和程序设计语言之间的一种表示形式。保留了C语言的精华;不拘泥于C语言的语法细节;同时也添加了一些C++的成分,特点:便于理解、阅读;能方便的转换成C语言)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南