算法是具有解决特定问题的定义明确的步骤的过程。算法是有限的一组逻辑或指令, 为了完成某些预定义的任务而编写。它不是完整的程序或代码, 仅是问题的解决方案(逻辑), 可以使用流程图或伪代码表示为非正式描述。
算法的主要类别如下:
- 排序:为按特定顺序对项目进行排序而开发的算法。
- 搜索:为搜索数据结构中的项目而开发的算法。
- 删除:为从数据结构中删除现有元素而开发的算法。
- 插入:为在数据结构内插入项目而开发的算法。
- 更新:为更新数据结构中现有元素而开发的算法。
- 时间复杂度:这是一种表示程序运行到完成所需时间的方式。
- 空间复杂度:它是算法在执行过程中所需的存储空间量。在可用内存有限的情况下以及对于多用户系统, 都需要空间复杂性。
- 规范:计算过程的描述。
- 前提条件:输入条件。
- 算法主体:一系列清晰明确的指令。
- 后置条件:输出条件。
- 步骤1开始
- 第2步声明三个整数x, y和z
- 步骤3定义x和y的值
- 步骤4将x和y的值相乘
- 步骤5将步骤4的输出存储在z中
- 步骤6列印z
- 步骤7停止
- 第1步开始
- 步骤2获得x和y的值
- 步骤3 z←x * y
- 步骤4显示z
- 步骤5停止
算法必须遵循以下提到的特征:
- 输入:算法必须具有0个或定义明确的输入。
- 输出:算法必须具有1个或定义明确的输出, 并且应与所需的输出匹配。
- 可行性:必须在有限数量的步骤之后终止算法。
- 独立:算法必须具有独立于任何编程代码的逐步指导。
- 明确:算法必须明确且清晰。它们的每个步骤和输入/输出都必须清楚, 并且仅导致一种含义。