- Python 数据结构和算法教程
- Python-DS 主页
- Python-DS简介
- Python-DS 环境
- Python-数组
- Python - 列表
- Python - 元组
- Python-字典
- Python - 二维数组
- Python-矩阵
- Python - 集合
- Python - 地图
- Python - 链表
- Python-堆栈
- Python-队列
- Python-出队
- Python - 高级链表
- Python-哈希表
- Python - 二叉树
- Python - 搜索树
- Python - 堆
- Python - 图表
- Python - 算法设计
- Python——分而治之
- Python - 递归
- Python-回溯
- Python - 排序算法
- Python - 搜索算法
- Python - 图算法
- Python-算法分析
- Python - 大 O 表示法
- Python - 算法类
- Python - 摊销分析
- Python - 算法论证
- Python 数据结构和算法有用资源
- Python - 快速指南
- Python - 有用的资源
- Python - 讨论
Python - 算法设计
算法是一个逐步的过程,它定义了一组按一定顺序执行以获得所需输出的指令。算法通常是独立于底层语言而创建的,即算法可以用多种编程语言来实现。
从数据结构的角度来看,以下是一些重要的算法类别 -
搜索- 搜索数据结构中的项目的算法。
排序- 按特定顺序对项目进行排序的算法。
插入- 在数据结构中插入项目的算法。
更新- 更新数据结构中现有项目的算法。
删除- 从数据结构中删除现有项目的算法。
算法的特点
并不是所有的过程都可以称为算法。算法应具有以下特征 -
明确- 算法应该清晰且明确。它的每个步骤(或阶段)及其输入/输出都应该清晰,并且必须仅产生一个含义。
输入- 算法应该有 0 个或多个明确定义的输入。
输出- 算法应该有 1 个或多个明确定义的输出,并且应该与所需的输出相匹配。
有限性- 算法必须在有限数量的步骤后终止。
可行性- 在可用资源下应该可行。
独立- 算法应该有逐步的方向,它应该独立于任何编程代码。
如何编写算法?
编写算法没有明确的标准。相反,它依赖于问题和资源。算法从来都不是为了支持特定的编程代码而编写的。
我们知道,所有编程语言都共享基本的代码结构,例如循环(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 - 停止
在算法的设计和分析中,通常采用第二种方法来描述算法。它使分析人员可以轻松分析算法,忽略所有不需要的定义。他可以观察正在使用哪些操作以及流程如何流动。
写步骤号, 是可选的。
我们设计一种算法来解决给定问题。一个问题可以通过多种方式解决。
因此,对于给定问题可以导出许多解决算法。下一步是分析这些提出的解决方案算法并实施最合适的解决方案。