三个问题:
1,什么是算法?
2,为什么学习算法是值得的?
3,在计算机中算法相对于别的技术作为一个什么样的角色?
什么是算法?
学习算法导论两周,有一些感受,第一感觉真是算法导论真的是一本非常通俗易懂的书,很多时候你想写一些心得和扩展都没得写。。书上都有了。
进入主题。什么是算法?算法就是一些将输入变成输出的计算步骤的序列。
书上讲算法是用来解决那计算性问题的。比如排序问题。
算法的正确性。如果说一个算法是正确的那这个算法是每一种输入都可以终止并且得到正确的结果。
错误的算法有可能不会终止,有可能可以终止但是得到的是错误的答案。需要注意的是如果错误的算法当中的错误时可以控制的话也是可以使用的。
算法可以用英语,也可以用任何计算机语言,也可以用硬件设计来表示。只有一个要求就是要精确的描述计算步骤。
为什么学习算法时值得的?
一,应用广泛
1.人类基因库项目
2.互联网
3.电子商务
4.制造业和广告业
书上讲虽然上面有些例子超出了本书范围所讲内容的范围,但是这些例子中引用了很多本书中的思想。
还有一些例子是在书中的后续章节仔细介绍的。包括:
1.最短路径问题
2.求矩阵相乘问题
3.求模问题
4.求包含n个点的最小多边形
出了这些实际问题书上还总结了两点:
1.每一个问题都有很多个解决方法,但是其中很多都不是我们想要的,如何从很多算法中找到我们需要的也是比较难的。
2.有实际的应用。比如最短路径问题,运输公司和铁路公司都希望可以得到最短路径,因为最短路径可以节省劳动力和花费。
还有互