Python 算法设计

算法是一个循序渐进的过程,它定义了一组指令,以一定的顺序执行以获得所需的输出。算法通常独立于底层语言而创建,即算法可以用多种编程语言实现。

从数据结构的角度来看,以下是一些重要的算法类别 -

  • 搜索 - 搜索数据结构中的项目的算法。

  • 排序 - 特定顺序对项目进行 排序的 算法。

  • 插入 - 算法将项目插入数据结构中。

  • 更新 - 更新数据结构中现有项目的算法。

  • 删除 - 从数据结构中删除现有项目的算法。

 

算法的特点

并非所有的程序都可以称为算法。算法应该具有以下特征 -

  • 毫不含糊 - 算法应该清晰明确。 每个步骤(或阶段)及其输入/输出都应该清楚,并且必须仅导致一个含义。

  • 输入 - 算法应该有0个或更多明确定义的输入。

  • 输出 - 算法应该有一个或多个定义良好的输出,并且应该与所需的输出相匹配。

  • 有限性 - 算法必须在有限数量的步骤后终止。

  • 可行性 - 可用资源应该可行。

  • 独立 - 一个算法应该有一步一步的指示,它应该独立于任何编程代码。

 

如何编写算法?

编写算法没有明确的标准。相反,它依赖于问题和资源。从不编写算法来支持特定的编程代码。

正如我们所知,所有编程语言都共享像循环(do,for,while),流控(if-else)等基本代码构造。这些常用构造可用于编写算法。

我们一步一步地编写算法,但情况并非总是如此。算法编写是一个过程,并在问题域定义良好之后执行。也就是说,我们应该知道问题领域,为此我们正在设计一个解决方案。

 

实例

让我们试着通过一个例子来学习算法写作。

问题 - 设计一个算法来添加两个数字并显示结果。

step 1 − START
step 2 − declare three integers a, b & c
step 3 − define values of a & b
step 4 − add values of a & b
step 5 − store output of step 4 to c
step 6 − print c
step 7 − STOP

算法告诉程序员如何编写程序。或者,该算法可以写成 -

step 1 − START ADD
step 2 − get values of a & b
step 3 − c ← a + b
step 4 − display c
step 5 − STOP

在算法的设计和分析中,通常使用第二种方法来描述算法。它使分析人员可以轻松分析忽略所有不需要的定义的算法。他可以观察正在使用的操作以及流程的流程。

编写 步骤编号 是可选的。

我们设计一个算法来获得给定问题的解决方案。一个问题可以通过多种方式解决。

一个问题很多解决方案

因此,对于给定的问题,可以导出许多解算法。下一步是分析这些提出的解决方案算法并实施最合适的解决方案。

 算法分析算法的效率可以在执行之前和执行之后的两个不同阶段进行分析。他们是以下 -先验分析 - 这是一种算法的理论分析。 算法的效率是通过假设所有其他因素(例如处理器速度)是恒定的并且对实现没有影响来衡量的 ...