极客秀
搜索

都说算法是程序的“灵魂”,你怎么看?

在大学期间学编程的时候,简单的问题可以很容易地使用编程解决,例如简单的数学运算和输出语句,到后来随着知识点的深入,面对复杂问题时总是不知道从何下手。
直到后来有一天, 一位前辈告诉我说程序的“灵魂”是算法,只有掌握了算法 ,才能轻松地驾驭程序:

原来程序不是按部就班,正确的做法是选择一种算法去实现功能,这个算法正式解决问题的有力武器,也是对一个项目“下手”的第一步,算法能够告诉我在面对一个应用时用什么思路去实现,有了这个思路,编码工作只需遵循该思路去实现即可,算法是一个程序的编码思路,是程序员解决问题的“指路明灯”。

何为算法,为了理解什么是算法,先看一道有趣的智力题: “烧水泡茶“有如下五道工序:

  • 烧开水

  • 洗茶壶

  • 洗茶杯

  • 拿茶叶

  • 泡茶

烧开水、洗茶壶、洗茶杯、拿茶叶是泡茶的前提;其中烧开水需要15分钟,洗茶壶需要2分钟,洗茶杯需要1分钟,拿茶叶需要1分钟,泡茶需要1分钟。
下面是两种“烧水泡茶”的方法:


方法1:

  • 第一步:烧水

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

  • 第三部:沏茶

方法2:

  • 第一步:烧水

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

  • 第三部:水烧开后沏茶

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

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容