都说算法是程序的“灵魂”?

传统意义上的灵魂仿佛一个生命的核心,运筹帷幄;本书的主角“算法”指的是一种解决问题的方法,也就是程序的“灵魂”;在本篇的内容中,将引申讲解计算机算法的基础知识,为读者步入后面的学习打下基础。

传统意义上的灵魂仿佛一个生命的核心,运筹帷幄;本书的主角“算法”指的是一种解决问题的方法,也就是程序的“灵魂”;在本篇的内容中,将引申讲解计算机算法的基础知识,为读者步入后面的学习打下基础。

在 大学期间学编程的时候,简单的问题可以很容易地使用编程解决,例如简单的数学运算和输出语句;到后来随着知识点的深入,面对复杂问题时总是不知道从何下 手;知道后来有一天,一位前辈告诉我说程序的“灵魂”是算法,只有掌握了算法,才能轻松地驾驭程序,原来程序不是按部就班,正确的做法是选择一种算法去实 现功能,这个算法正式解决问题的有力武器,也是对一个项目“下手”的第一步,算法能够告诉我在面对一个应用时用什么思路去实现,有了这个思路,编码工作只 需遵循该思路去实现即可,算法是一个程序的编码思路,是程序员解决问题的“指路明灯”。

都说算法是程序的“灵魂”?0

何为算法?为了理解什么是算法,先看一道有趣的智力题:

“烧水泡茶“有如下五道工序:

1.烧开水

2.洗茶壶

3.洗茶杯

4.拿茶叶

5.泡茶

烧开水、洗茶壶、洗茶杯、拿茶叶是泡茶的前提;其中烧开水需要15分钟,洗茶壶需要2分钟,洗茶杯需要1分钟,拿茶叶需要1分钟,泡茶需要1分钟。

下面是两种“烧水泡茶”的方法:

方法1:

第一步:烧水

第二步:水烧开后,洗茶具,拿茶叶

第三部:沏茶

方法2:

第一步:烧水

第二步:在烧水的过程中,洗茶具,拿茶叶

第三部:水烧开后沏茶

问题:比较这两种方法有何不同,并分析哪种方法更优。

上述两种方法都能最终实现“烧水泡茶”的功能,每种方法的3个步骤就是一种“算法”;算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则;通俗点 说,就是计算机解体的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法,前者是推理实现的算法,后者是操作实现的算法。

阅读余下内容

发表评论

电子邮件地址不会被公开。 必填项已用*标注


京ICP备12002735号