- Python程序设计:基础与实践
- 殷锡亮 刘阳 张胜扬
- 553字
- 2025-02-23 10:15:10
2.2 计算机语言的精华:算法
算法(Algorithm)是指对解题方案的准确而完整的描述,是一系列用于解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略的机制。也就是说,算法能够利用遵从一定规范的输入,在有限时间内获得所要求的输出。算法中的指令描述的是一个计算过程,当其执行时能从初始状态和初始输入(可能为空的)开始,经过一系列有限而定义清晰的状态,最终产生输出并停止于一个终止状态。一个状态到另一个状态的转移不一定是确定的。
显然,上述严谨的定义并不适用于初学者,尤其是没有系统学习过算法导论的人。简单地说,算法描述了一个过程,即如何完成一项特定的任务。而计算机语言的精华就在于此:使用不同的算法完成不同的任务。
比如,机器人SLAM(Simultaneous Localization And Mapping,即时定位与制图)算法的流程可以大致表示为:
(1)每隔2s从获取的图像中提取视觉特征;
(2)判断物体是否为障碍物;
(3)如果是障碍物,则选择旋转方向,寻找其他可行进路线;
(4)如果不是障碍物,则计算当前位置相对前一个点位的距离并存储;
(5)机器人闭环行走一周回到原点后,将整个行走轨迹绘图。
这个算法并不复杂,它由循环执行、顺序执行以及判断操作组成。再复杂的算法其实也是由这些基本操作构成的。因此,在之后的内容中将会介绍一些非常简单的Python操作,就是这些非常简单的操作最后构成了复杂的算法。