算法的定义和属性
可以将算法定义为定义明确的计算过程, 该过程将某些值或一组值作为输入, 并产生某些值或一组值作为输出。因此, 算法是将输入转换为输出的一系列计算步骤。
【算法的定义和属性】它描述了用于实现输入-输出关系的特定计算过程。
例如, 我们需要将数字序列按升序排序。这是我们定义排序问题的方式。
输入:
A sequence of n number (a1, a2, ......an)
输出:
A permutation (reordering) (a'1, a'2 .... a'n) of the input sequence such that (a'1 ≤ a'2 ≤ ....≤ a'n)
算法必须具有以下属性:
- 正确性:应根据算法要求产生输出
- 有限性:必须在执行了有限数量的指令后才能完成算法。
- 不含歧义:必须定义每个步骤, 只有一个解释。
- 序列的定义:每个步骤必须具有唯一定义的前后步骤。必须注意第一步和最后一步。
- 输入/输出:必须说明所需输入和结果的数量和分类。
- 可行性:执行每条指令必须可行。
- 灵活性:还可以在不花太多精力的情况下对算法进行更改。
- 高效-效率通常是根据时间和空间来衡量的, 而该时间和空间需要实施该算法, 因此该算法在可接受的开发时间范围内使用了很少的运行时间和内存空间。
- 独立性:算法应专注于什么是输入, 输出以及如何在不知道其定义语言的情况下得出输出。因此, 可以说该算法与语言无关。
推荐阅读
- 算法的需求
- 算法设计与分析教程入门
- 网络安全风险分析
- 什么是Hadoop Mapreduce以及它是如何工作的()
- Android Studio查看签名文件sha1和MD5的方法
- 02.MyBatis在DAO层开发使用的Mapper动态代理方式
- Azure上通过haproxy实现APP Gateway或WAF的http跳转https
- 最优雅退出 Android 应用程序的 6 种方式
- 回收站,图文详细说明怎样恢复回收站删除的文件
- 小马win10激活工具,图文详细说明小马win10激活工具的及运用