今天看了《算法导论》第一章,现把主要内容做以记录。
- 首先,算法的定义,
引用
简单说, 所谓算法(algorithm)就是定义良好的 计算过程,它取一个或一组作为输入,并产生出一个或者一组作为输出。所以,算法就是一系列的计算步骤,用来将输入数据转换成输出结果。
自己的理解,算法就是IPO模型,有输入、处理、输出。
-
- 一个算法对所有的输入,都能输出正确的结果并停止,则称其为正确。
- 算法可以解决的问题:
- DNA问题;
- Internet环境下海量信息情况下,如何快速发现找到自己的信息 ,比如Google的PageRank算法,这使我联想到,电子商务中在海量商品中“个性化推荐”推荐商品;
- 电子商务中制约其发展的瓶颈之一:安全问题,公钥加密、数字证书、数字签名等问题,他们的基础就是数值算法和数论理论。这让我联想到《应用密码学》。
- 在制造业中的如何分配稀有资源,使得其作用发挥最大化。此类问题都可以归为线性规划问题。即在满足某些条件下(线性条件下),如何使得目标函数取得最大值或者最小值,看来运筹学是个好东西,自己一定要把理论和实际结合起来,加深理论的理解,并且可以计算机来实现。好赖给本科生上来两学期运筹学的课,基本的东西还是了解的。
- 给定一幅道路交通图,上面标注了任意相邻交叉路口之间的距离,问题是如何找出任意两个交叉路口之间的最短距离,想必大家都知道,此问题可以运用图论中的最短路径的方法来求。Dijkstra或者Washall-floyd算法。
还有一些,不一一列举。
- 许多算法都有两个共同的特征:
1)有狠毒候选的解决方案,其中大部分都不是我们所需要的。找到真正需要的解决方案往往不是一件容易的事。
2)有着实际的应用。比如最短路径问题,可以应用到物流公司等等其他场合。
对于程序人员来说有必要研究算法?
作者的观点:尽管 对于某些应用来说,在应用层上没有什么明显的算法方面的要求,比如web开发,但大多数问题对算法还是有一定程度要求的。例如旅游网站提供一种服务,它用于确定如何从一个地方旅行至另外一个地方,所以它可能依赖于计算机硬件、GUI、广域网等,除此之外,它还需要为某些操作设计算法,如寻找路由(最短路径)、显示地图、插入地址等。
此外,即使某些应用对算法没有直接的要求 ,其实也间接的依赖于一些算法。
总之,作者的观点:
引用
是否拥有扎实的算法知识和技术基础,是区分真正熟练的程序员与新手的一项重要特征。利用当代的计算技术,无需了解很多算法方面的东西,也可以完成一些任务。但是,有了良好算法基础和背景的话,可以做的事就要多得多了。
分享到:
相关推荐
[麻省理工学院-算法导论].Introduction.to.Algorithms.-.Lecture.Notes 算法导论-课堂笔记 讲义
麻省理工算法导论全套笔记 ,英文版,看好再下哦。
“学习笔记”之《算法导论》----第六部分----图算法----第二十六章----最大流-附件资源
算法导论授课教案、作业、解答等等 很全的资料 整理在一个网站,我整个抓了下来,作成离线版 学习算法的同学必备!
市面上能下载的《算法导论》中文版都没有目录(标签) 阅读极不方便 翻阅困难 本人 crocostone 亲自手动制作了完整的标签 包括章 节 小节的标签 在Acrobat 7 0和9 0版本和FoxitReader 4 2版本均能打开 而且 我精心...
麻省理工学院算法导论笔记.pdf
山东大学软件学院算法导论课程的复习笔记。文件里面包含了五份笔记,涵盖BFS、DFS、SCC、Topological、MST、ShortestPath、maxflow。主要是对PPT的内容的整理概括。个人整理不易,其中的图片都是自己绘制的,就是...
算法导论 学习笔记
《算法导论》读书笔记_附录A习题解答 学习C C++ 资料
我做的算法导论读书笔记。请大家提供意见和建议,也欢迎大家一起交流。
我做的算法导论读书笔记,这是第三个了。请大家提供意见和建议,也欢迎大家一起交流。 关于该系列读书笔记的详情和进展请看我的博客http://blog.csdn.net/PowerRock
算法导论笔记
麻省理工学院算法导论_笔记 算法导论,学习计算机必备
包括麻省理工学院算法课的教材《算法导论》中英文版,麻省理工的课堂讲义,练习,以及课后答案,值得学习算法的学生研究。
《算法导论》学习笔记 有详细的和清晰的板书,非常好的东西
算法导论课堂笔记。 英文版。 Word文档。
算法导论读书笔记,整理别人的,不算抄袭吧。。
更多内容请关注http://blog.csdn.net/PowerRock/
从第二到第八章的总结