什么是算法?
现在,作为一个小白的我(曾小白),思考讨论这个问题并把它写成这篇随笔,应该是一个不自量力,很狂妄的行为。
虽然写出来的东西可能有不少谬误,会让人贻笑大方,但是要深入的去探究一下算法,还是要思考一下算法的本质是什么。
对于这个问题主要有这么几个说法:
1.算法就是解决问题的步骤
2.算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。(来自《百度百科》)
3.算法(algorithm)就是定义良好的计算过程,该过程取某个值或值的集合作为输入,并产生某个值或值的集合作为输出。(来自《算法导论》)
但是在《算法导论》开头,描述了这么一个场景,计算机是无限快的并且计算机的内存无限大且免费的。
我就想在这样的场景里,算法肯定是没意义的(那个时候时间复杂度和空间复杂度完全没有任何比较的意义了),那么这个时候算法又是一个什么东西,是不是算法就不存在了。
之后《算法导论》就提出算法是一种技术。
因为我是要在资源有限的计算机里去实现这个算法,所以我更认可算法是一种节约时间和空间资源的一种技术。·
因为资源有限,所以对一个算法的评价,要从时间复杂度和空间复杂度去看。
时间复杂度:时间复杂度是指执行算法所需要的计算工作量度(一个算法的运行时间)。
空间复杂度:是对一个算法在运行过程中临时占用存储空间大小的量度。
因为曾小白(作者)水平不咋地,只能憋出这么点似是而非的东西出来,在思考什么是算法的时候,脑子里冒出很多很哲学的想法。
大自然是不是一个存在一个算法,让万事万物运行。
人类的思想是不是算法。
……
不想了,想的脑阔痛,大家看了这篇随笔后,有想法的可以评论留言,说不定哪位大神看到了,就顺便给我们科普了
感觉写的不咋地的,那您就一笑而过好了。
原文地址:https://www.cnblogs.com/barkingpig/p/9097957.html