【软件设计师】通俗易懂的去了解算法的特性和要求

本文详细阐述了算法的五个基本属性(有穷性、确定性、可行性、输入和输出),以及算法的重要要求,如正确性、无歧义性、健壮性和可扩展性。同时强调了时间复杂度和空间复杂度在算法效率评估中的关键作用。

 🐓 算法

算法是对特定问题求解步骤的一种描述,算法是指令的有限序列。其中每一条指令表示一个或者多个操作。

 🐓 算法的5种属性

有穷性

一个算法必须总是在执行有穷的步骤后,且在每个步骤执行的过程中时间是有限的

1.有穷性意味着算法必须在执行有限步骤后结束。

2.这意味着算法不会陷入无限循环或需要无限长的时间来执行。

3.同时,每个步骤都应该在可接受的时间内完成,以确保算法的效率。

确定性

算法中每一条指令必须要有准确的含义,不存在其他的含义。

1.确定性意味着算法的每一步都应该明确、无歧义地定义。

2.对于算法中的每一种情况,需要执行的动作都应该严格、清晰地规定,不应有模糊或不确定的地方。

3.这有助于确保算法的正确性和可预测性。

可行性

一个算法是可行的就是算法描述的操作是可以通过已经执行的基本运算有限次数实现

1.可行性意味着算法的每一步都应该是可执行的。

2.这意味着算法中描述的操作应该是可以通过已经实现的基本运算来完成的。

3.此外,可行性还涉及到算法所需的资源(如时间、存储空间等)是否在实际应用中是可接受的。

输入

一个算法有零个或多个输入,这些输入取自于某个特定对象的集合

1.输入是算法开始运算前给予算法的量。

2.一个算法可以没有输入(例如,某些随机生成数字或图案的算法),也可以有多个输入。

3.输入可以来自外部提供,例如用户输入,也可以是算法内部给定的,例如通过赋值语句。

4.输入的量通常与特定的问题或应用场景相

评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆企鹅仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值