既然要谈到算法,那就得要了解算法是什么 ————算法,通俗的来说就是做事的方法
算法,用不通俗的说法就是:将一组输入转化成一组输出的一系列计算步骤,其中每个步骤必须能在有限时间内完成。
日常生活中,做事的方法有着正确和错误之分。正确的方法可以圆满的完成任务,错误的方法则不确定。
古人常说:山外有山,人外有人,同样正确的方法也有着高低之分,优劣之分。
例一:累加求和 ———— 等差数列求和(高斯方法)
从1+2+3+……+100,高斯的老师和之前的人只知道累加法,现在看起来相对笨的老办法,而高斯就发现了(1+100)x(100/2)的巧妙的办法。累加法需要进行99次加法,而高斯这办法只需要做一次加法,一次除法,一次乘法。可能你会说,这么点次数在电脑CPU中就是毫秒毫秒钟的事情。如果从1+2+3+……+100000000000000000000000000000000000000000000000000000000呢?用累加法需要的时间肯定比等差求和的方法要慢很多很多~~~~
这不正是算法的用处,一直在追求一种极致的快(速度快)、少(空间少)、简(代码简)
例二:心中猜数
我心里想着一个数字,范围在100以内,你能在七次之内猜到我在想那个数字么?
如果你说能,那我十分佩服你,因为我认为世界基本上不存在这个人。
那我换一种说法:我心里想着一个数字,范围在100以内,你能问我大了还是小了,这样那你能在七次之内猜到我在想那个数字么?
如果你说不能,那我就会怀疑你可能是个硅基生物,和我们碳基生物的脑回路不一样。
例三:字典查字
我相信大家都不是一页一页慢慢的翻,而是一翻一大页,然后再一翻一小页,最后再一页一页的翻。
题外话:这种简单的算法思想不知不觉的就在这个追求效率和速度的时代中渗透人心
时间:1946年2月14日
地点:美国的一所大学
时间:出现一台很重的机器
名字:ENIAC
事件:诞生了世界第一台通用计算机,或许未来有智械危机的话,那这天诞生的就不只有计算机,还有.....
重要人物:智者之名—Don E.Knuth (计算机中的《圣经》)、阿兰·麦席森·图灵(图灵测试)、冯诺依曼(计算机体系)
计算机的出现可以使人类做某些事情的效率提高成千上万倍,但目前为止,计算机并没有任何的思考能力,它们未曾做过一件人类不知道该这么做的事情。
计算机程序中表达的方法就是我们通常所说的———算法。