搜索
写经验 领红包
 > 美食

啥是算法(算法到底是什么意思)

导语:算法简介——什么是算法?

1、算法及其基本特征

算法是指对解题方案的准确而完整的描述。简说单地说,算法就是解决问题的操作步骤。

算法不等于数学上的计算方法,也不等于程序。程序可以描述算法。

算法的基本特征如下:

(1)可行性:步骤可以实现;执行结果达到预期目的。

(2)确定性:步骤明确不模棱两可,不准有多义性。

(3)有穷性:有限的时间完成。

(4)拥有足够的情报:算法在拥有足够的输入信息和初始化信息时,才是有效的;当提供的情报不够时,算法可能无效。

2.算法复杂度

算法复杂度用来衡量算法的优劣,它包括算法间的时间复杂度和算法的空间复杂度。

(1 )算法的时间复杂度

算法的时间复杂度是指执行算法所需要的计算工作量。

算法的时间复杂度≠算法程序执行的具体时间。算法程序执行的具体时间受到所使用的计算

机、程序设计语言以及算法实现过程中的许多细节的影响。而算法的时间复杂度与这些因素无关。算法的计算工作量是用算法所执行的基本运算次数来度量的。算法所执行的基本运算次数与问题的规模有关。

在具体分析一个算法的工作量时,在同一个问题规模下,算法所执行的基本运算次数还可能与特定的输入有关。即输入不同时,算法所执行的基本运算次数不同。

(2)算法的空间复杂度

算法的空间复杂度是指执行这个算法所需要的内存空间。

算法执行期间所需的存储空间包括3个部分:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。

其中,额外空间包括算法程序执行过程中的工作单元,以及某种数据结构所需要的附加存储空间。

如果额外空间量相对于问题规模(即输入数据所占的存储空间)来说是常数,即额外空间量不随问题规模的变化而变化,则称该算法是原地( in place)工作的。

为了降低算法的空间复杂度,主要应减少输入数据所占的存储空间以及额外空间,通常采用压缩存储技术。

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小滢创作整理编辑!