算法是一个循序渐进的过程,它定义了一组指令,以一定的顺序执行以获得所需的输出。 算法通常独立于底层语言,即算法可以以多种编程语言实现。
从数据结构的角度来看,以下是一些重要的算法类别 -
算法的特点
并非所有的程序都可以称为算法。算法应该具有以下特征 -
0
个或更多明确定义的输入。编写算法没有明确的标准。 相反,它依赖于问题和资源。 从不编写算法来支持特定的编程代码。
所有编程语言都共享像循环(do
,for
,while
),流控(if-else
)等基本代码构造。这些常用构造可用于编写算法。
算法编写是一个过程,并在问题域定义之后执行。 也就是说,应该知道问题领域,为此来设计一个解决方案。
示例
下面通过一个例子来学习算法写作。
问题 - 设计一个算法来将两个数字相加并显示结果。
第1步 − 开始 第2步 − 声明三个数字值变量:a, b & c 第3步 − 给定变量: a & b 的值 第4步 − 将两个变量 a & b 相加 第5步 − 将第4步中的计算值到 c 变量 第6步 − 打印:c 的值 第7步 − 完成
算法告诉程序员如何编写程序。 或者,该算法可以写成 -
第1步 − 开始相加 第2步 − 获取 a & b 的值 第3步 − c ← a + b 第4步 − 打印显示:c 的值 第5步 − 完成
在算法的设计和分析中,通常使用第二种方法来描述算法。 它使分析人员可以轻松分析忽略所有不需要的定义的算法。 可以观察正在使用的操作以及流程的流程。
编写步骤是可选的。
我们设计一个算法来获得给定问题的解决方案。 一个问题可以通过多种方式解决。
因此,对于给定的问题,可以导出许多解算法。 下一步是分析这些提出的解决方案算法并实施最合适的解决方案。