算法设计与分析_算法导论(CLRS)骨灰级笔记分享:目录

倘若你去问一个木匠学徒:你需要什么样的工具进行工作,他可能会回答你:“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师,他会告诉你“我需要一些精确的工具”。

由于计算机所解决的问题都是从生活中抽象出来的问题,其复杂性不言而喻,所以我们需要这样精确有效的工具去解决现实生活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个程序员都十分清楚的。

程序设计当中解决相当一部分问题都会涉及各种各样的科学计算,这需要程序员具有什么样的基础呢?实际问题转换为程序,要经过一个对问题抽象的过程,建立起完善的数学模型,只有这样,我们才能建立一个设计良好的程序。从中我们不难看出计算数学在程序设计领域的重要性。

算法与计算理论是计算机程序设计领域的灵魂所在,是发挥程序设计者严谨,敏锐思维的有效工具。任何的程序设计语言都试图将之发挥得淋漓尽致。

学过计算机的都知道,《算法导论(CLRS)》这本书可以说是全世界最权威的算法课程的大学课本了,基本上全世界的名牌大学用的教材都是它。这本书一共四位作者,Thomas H. CormenCharles E. Leiserson Ronald L.Rivest 是来自 MIT 的教授,Clifford Stein MIT出来的博士,现在哥伦比亚大学做教授,四人姓氏的首字母联在一起即是此书的英文简称(CLRS 2e),其中第三作者 Ronald L. Rivest RSA 算法的老大(算法名字里面的  R 即是指他)

《算法导论(CLRS)》是一本让人又爱又恨的书,爱自然是因为它精简凝练的算法呈现,读来让人欲罢不能;至于恨,是因为它在进行算法分析的时候所体现的数学思想太过于强大。

但还是建议看本书之前,先把大学相关科目复习一遍。《离散数学》是必须要完全搞定的,要不算法分析部分会让你很抓狂。《数据结构》可以提前剧透CLRS的一些基础内容。如果你选修过组合数学,运筹学等,特定章节你是完全可以直接跳过的,因为当时学的东西比CLRS上那点详细多了。另外,《概率论》,《高等数学》或《数学分析》,《形式语言&自动机》也会有直接的间接的帮助。

以下是过往推送过《算法导论(CLRS)》骨灰级笔记分享的内容,有链接的可以直接戳进去看。

01 基础知识

  • 第01章 算法在计算中的作用 

  • 第02章 算法基础

  • 第03章 函数的增长

  • 第04章 递归式

  • 第05章 概率分析和随机算法

02 排序和顺序统计学

  • 第06章 堆排序

  • 第07章 快速排序

  • 第08章 线性时间排序

  • 第09章 中位数和顺序统计学

03 数据结构

  • 第10章 基本数据结构

  • 第11章 散列表

  • 第12章 二叉搜索树

  • 第13章 红黑树,(PS:AVL树探秘)

  • 第14章 数据结构的扩张

04 高级设计和分析技术

  • 第15章 动态规划 ,动态规划总结

  • 第16章 贪心算法

  • 第17章 平摊分析

05 高级数据结构

  • 第18章 B树

  • 第19章 二项堆

  • 第20章 斐波那契堆

  • 第21章 用于不相交集合的数据结构

06 图算法

  • 第22章 图的基本算法

  • 第23章 最小生成树

  • 第24章 单源最短路径

  • 第25章 每对顶点间的最短路径

  • 第26章 最大流

07 算法研究问题选编

  • 第27章 排序网络

  • 第28章 矩阵运算

  • 第29章 线性规划

  • 第30章 多项式与快速傅里叶变换

  • 第31章 有关数论算法

  • 第32章 字符串匹配

  • 第33章 计算几何学

  • 第34章 NP完全性

  • 第35章 近似算法

08 参考资料

  1. Donald E.Knuth 著,苏运霖 译,《计算机程序设计艺术,第1卷基本算法》,国防工业出版社,2002年

  2. Donald E.Knuth 著,苏运霖 译,《计算机程序设计艺术,第2卷半数值算法》,国防工业出版社,2002年

  3. Donald E.Knuth 著,苏运霖 译,《计算机程序设计艺术,第3卷排序与查找》,国防工业出版社,2002年

  4. Thomas H. Cormen, Charles E.Leiserson, etc., Introduction to Algorithms(2nd edition), McGraw-Hill Book Company,2009

  5. Jon Kleinberg, Ėva Tardos, Algorithm Design, Addison Wesley, 2005.

09 参考网站

  1. MIT 的《算法导论》 http://stellar.mit.edu/S/course/6/sp13/6.006/

  2. Stanford 算法 https://www.coursera.org/course/algo

  3. Berkeley《数据结构》   http://www.cs.berkeley.edu/~jrs/61b/

  4. Algorithms in the Real World http://www.cs.cmu.edu/~guyb/realworld.html

  5. 《算法导论(CLRS)》全部伪代码的Python实现:https://github.com/gycg/Algorithm

7bd12f1cabbffeddf3e2b8163dcd1863.gif

8d5d3e81b30eb8cac58fdf884ceef9d6.png

-The End-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值