今天看了《算法导论》第一章,现把主要内容做以记录。
- 首先,算法的定义,
引用
简单说, 所谓算法(algorithm)就是定义良好的 计算过程,它取一个或一组作为输入,并产生出一个或者一组作为输出。所以,算法就是一系列的计算步骤,用来将输入数据转换成输出结果。
自己的理解,算法就是IPO模型,有输入、处理、输出。
-
- 一个算法对所有的输入,都能输出正确的结果并停止,则称其为正确。
- 算法可以解决的问题:
- DNA问题;
- Internet环境下海量信息情况下,如何快速发现找到自己的信息 ,比如Google的PageRank算法,这使我联想到,电子商务中在海量商品中“个性化推荐”推荐商品;
- 电子商务中制约其发展的瓶颈之一:安全问题,公钥加密、数字证书、数字签名等问题,他们的基础就是数值算法和数论理论。这让我联想到《应用密码学》。
- 在制造业中的如何分配稀有资源,使得其作用发挥最大化。此类问题都可以归为线性规划问题。即在满足某些条件下(线性条件下),如何使得目标函数取得最大值或者最小值,看来运筹学是个好东西,自己一定要把理论和实际结合起来,加深理论的理解,并且可以计算机来实现。好赖给本科生上来两学期运筹学的课,基本的东西还是了解的。
- 给定一幅道路交通图,上面标注了任意相邻交叉路口之间的距离,问题是如何找出任意两个交叉路口之间的最短距离,想必大家都知道,此问题可以运用图论中的最短路径的方法来求。Dijkstra或者Washall-floyd算法。
还有一些,不一一列举。
- 许多算法都有两个共同的特征:
1)有狠毒候选的解决方案,其中大部分都不是我们所需要的。找到真正需要的解决方案往往不是一件容易的事。
2)有着实际的应用。比如最短路径问题,可以应用到物流公司等等其他场合。
对于程序人员来说有必要研究算法?
作者的观点:尽管 对于某些应用来说,在应用层上没有什么明显的算法方面的要求,比如web开发,但大多数问题对算法还是有一定程度要求的。例如旅游网站提供一种服务,它用于确定如何从一个地方旅行至另外一个地方,所以它可能依赖于计算机硬件、GUI、广域网等,除此之外,它还需要为某些操作设计算法,如寻找路由(最短路径)、显示地图、插入地址等。
此外,即使某些应用对算法没有直接的要求 ,其实也间接的依赖于一些算法。
总之,作者的观点:
引用
是否拥有扎实的算法知识和技术基础,是区分真正熟练的程序员与新手的一项重要特征。利用当代的计算技术,无需了解很多算法方面的东西,也可以完成一些任务。但是,有了良好算法基础和背景的话,可以做的事就要多得多了。
分享到:
相关推荐
《算法导论--教师手册》是一本为教育者设计的辅助教材,旨在配合《算法导论》第二版的深入学习。此手册由Thomas H. Cormen、Clara Lee和Erica Lin共同编著,作为对Thomas H. Cormen、Charles E. Leiserson、Ronald L...
《算法导论》是一本深度探讨计算机算法的权威著作,涵盖了算法设计、分析以及实现的各个方面。这份"算法导论授课教案学习笔记"是针对该书的深入学习资源,包括了教学教案、课后作业及解答,对于正在学习算法的学生来...
麻省理工学院算法导论笔记.pdf 本资源摘要信息是根据麻省理工学院算法导论笔记.pdf所生成的知识点,涵盖算法导论的基本概念、算法设计和分析、排序算法等方面的知识点。 算法导论 * 算法的定义:算法是解决问题的...
本次上传的文件包含《算法导论》课程前七章的学习笔记,内容涵盖了基础算法(如插入排序、归并排序)、递归方程的解法、数据结构(如堆、二叉搜索树)的操作与分析,以及图论算法(如BFS、DFS)等。该笔记详细记录了...
在计算机科学中,算法设计的关键在于效率和正确性。理解基本的算法范式,如分治法、动态规划、贪心策略和回溯法,是掌握算法的基础。 二、数据结构 数据结构是组织和存储数据的方式,为算法提供高效操作的数据组织...
“学习笔记”之《算法导论》----第六部分----图算法----第二十六章----最大流-附件资源
市面上能下载的《算法导论》中文版都没有目录(标签) 阅读极不方便 翻阅困难 本人 crocostone 亲自手动制作了完整的标签 包括章 节 小节的标签 在Acrobat 7 0和9 0版本和FoxitReader 4 2版本均能打开 而且 我精心...
《麻省理工学院-算法导论》是一门深入探讨计算机科学中算法设计与分析的课程。这门课程的课件习题集包含了丰富的学习材料,旨在帮助学生掌握算法的核心概念,提升解决实际问题的能力。课件习题的全面性使得学习者...
山东大学软件学院算法导论课程的复习笔记。文件里面包含了五份笔记,涵盖BFS、DFS、SCC、Topological、MST、ShortestPath、maxflow。主要是对PPT的内容的整理概括。个人整理不易,其中的图片都是自己绘制的,就是...
这些知识点在计算机科学与技术领域,尤其是数据结构和算法分析中占据着核心地位。下面将对这些内容进行深入的探讨。 优先级队列是一种抽象数据类型,它具有插入元素和删除具有最高优先级元素(通常是最大或最小值)...
《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了算法的设计、分析和实现。作为“算法导论系列读书笔记之二”,本文将主要探讨第二章的内容,这一章通常涵盖基础的数据结构和算法,为后续章节的学习...
《算法导论》是计算机科学领域的一本经典之作,它深入浅出地介绍了算法的设计、分析和实现。这本书的第二到第八章涵盖了诸多基础且重要的算法知识,是学习算法的基石。以下是对这些章节主要内容的详细解读: 第二章...
在《算法导论》第三章的笔记中,我们还会探讨稳定性和不稳定性的概念,这对于理解排序算法如何处理相等元素是重要的。此外,可能会涉及到排序算法在实际场景中的应用,如数据库查询优化、数据分析和机器学习模型的...
在"算法导论试题及答案"这个压缩包中,我们可以推测包含了一些与该教材相关的学习资源,如: 1. **课程表.doc**:这可能是一个详细的课程计划,列出了整个学期的学习进度和教学内容,包括每个主题的讲解日期、重点...
《算法导论》中还涉及了计算复杂性和NP完全理论,这些理论帮助我们理解哪些问题是可以在有限时间内解决的,哪些可能是无法解决的。此外,书中还包括概率算法和随机化技术,例如鸽巢原理、大数定律以及Monte Carlo和...
《MIT(麻省理工)算法导论笔记》是一份详细记录了麻省理工学院(Introduction to Algorithms)课程精华的学习资料。这门课程是全球计算机科学专业学子深入理解算法的基石,其重要性不言而喻。尽管由于文件大小限制,...
通过这份笔记,我们可以了解到算法导论课程的基本框架和核心内容。从课程信息、算法分析的重要性到具体的排序算法(如插入排序),这些内容为学习者提供了全面的视角来理解算法设计和分析的基础知识。特别是插入排序...
### 《算法导论》学习笔记关键知识点梳理 #### 第一部分:基础知识 ...以上是对《算法导论》学习笔记中基础章节的主要知识点的概述。通过这些基础知识的学习,可以为后续深入理解复杂算法提供坚实的基础。
《算法导论》是一部在计算机科学领域内广受推崇的经典教材,由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein四位作者共同编写,第二版更是对初版进行了全面的更新与扩充,涵盖了算法...