Python算法设计:如何编写算法?

2018-10-1610:50:54数据结构与算法Comments3,633 views字数 909阅读模式

算法是一个循序渐进的过程,它定义了一组指令,以一定的顺序执行以获得所需的输出。 算法通常独立于底层语言,即算法可以以多种编程语言实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

从数据结构的角度来看,以下是一些重要的算法类别 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

  • 搜索 - 搜索数据结构中的项目的算法。
  • 排序 - 按特定顺序对项目进行排序的算法。
  • 插入 - 算法将项目插入数据结构中。
  • 更新 - 更新数据结构中现有项目的算法。
  • 删除 - 从数据结构中删除现有项目的算法。

算法的特点文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

并非所有的程序都可以称为算法。算法应该具有以下特征 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

  • 毫不含糊 - 算法应该清晰明确。每个步骤(或阶段)及其输入/输出都应该清楚,并且必须仅导致一个含义。
  • 输入 - 算法应该有0个或更多明确定义的输入。
  • 输出 - 算法应该有一个或多个定义良好的输出,并且应该与所需的输出相匹配。
  • 有限性 - 算法必须在有限数量的步骤后终止。
  • 可行性 - 可用资源应该可行。
  • 独立 - 一个算法应该有一步一步的指示,它应该独立于任何编程代码。

如何编写算法?

编写算法没有明确的标准。 相反,它依赖于问题和资源。 从不编写算法来支持特定的编程代码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

所有编程语言都共享像循环(doforwhile),流控(if-else)等基本代码构造。这些常用构造可用于编写算法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

算法编写是一个过程,并在问题域定义之后执行。 也就是说,应该知道问题领域,为此来设计一个解决方案。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

下面通过一个例子来学习算法写作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

问题 - 设计一个算法来将两个数字相加并显示结果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

第1步 − 开始
第2步 − 声明三个数字值变量:a, b & c
第3步 − 给定变量: a & b 的值
第4步 − 将两个变量 a & b 相加
第5步 − 将第4步中的计算值到 c 变量
第6步 − 打印:c 的值
第7步 − 完成
Shell

算法告诉程序员如何编写程序。 或者,该算法可以写成 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

第1步 − 开始相加
第2步 − 获取 a & b 的值
第3步 − c ← a + b
第4步 − 打印显示:c 的值
第5步 − 完成
Shell

在算法的设计和分析中,通常使用第二种方法来描述算法。 它使分析人员可以轻松分析忽略所有不需要的定义的算法。 可以观察正在使用的操作以及流程的流程。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

编写步骤是可选的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

我们设计一个算法来获得给定问题的解决方案。 一个问题可以通过多种方式解决。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

Python算法设计:如何编写算法?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

因此,对于给定的问题,可以导出许多解算法。 下一步是分析这些提出的解决方案算法并实施最合适的解决方案。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6791.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/6791.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定