算法导论这本书怎么样?学习这本书需要什么背景知识?

appl55 2012-12-01 11:24:49
菜鸟想学习算法,不知道如何入手!
...全文
3038 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ama1997 2014-02-15
  • 打赏
  • 举报
回复
读书地图: 概率论基础 离散数学及其应用 计算机科学的数学基础 计算机程序结构与解释 算法导论
SKATE11 2012-12-02
  • 打赏
  • 举报
回复
这本书确实蛮有深度的 楼主概率论学过了吗 最好先学学概率论
appl55 2012-12-02
  • 打赏
  • 举报
回复
哈哈,谢谢各位
zjwzcnjsy 2012-12-02
  • 打赏
  • 举报
回复
我觉得对基本的数据结构和算法有个概念,再来读这本书比较好。 书本讲的内容不是很难,难的是要形成那种思维方式。
full810 2012-12-02
  • 打赏
  • 举报
回复
数学基础,数据结构什么的也要学好
goodwithcode 2012-12-02
  • 打赏
  • 举报
回复
引用 15 楼 appl55 的回复:
引用 11 楼 kuzuozhou 的回复:先学好编程 基础,掌握一门编程语言,例如c语言,写过一定的代码,然后学习数据结构和算法,对数组、链表、堆、树、图、hash这几个数据结构有了一定认识,对排序、分冶、贪心、动归、搜索、这几种常见算法有了初步概念后(推荐一本书《大会数据结构》),在这之后,算法导论则是进阶的必备书!有没有用到离散数学知识的?
树,图会用到的
L_chxu 2012-12-01
  • 打赏
  • 举报
回复
先把数学学好点
appl55 2012-12-01
  • 打赏
  • 举报
回复
引用 11 楼 kuzuozhou 的回复:
先学好编程 基础,掌握一门编程语言,例如c语言,写过一定的代码,然后学习数据结构和算法,对数组、链表、堆、树、图、hash这几个数据结构有了一定认识,对排序、分冶、贪心、动归、搜索、这几种常见算法有了初步概念后(推荐一本书《大会数据结构》),在这之后,算法导论则是进阶的必备书!
有没有用到离散数学知识的?
wizard_tiger 2012-12-01
  • 打赏
  • 举报
回复
建议楼主先学习一下数据结构。
jiangjieqi 2012-12-01
  • 打赏
  • 举报
回复
看什么书不重要 其实很多书 你看懂了 比你买什么书更重要 先把你买过来的好书 坏书 都看过了 再说哪个好 书不在多 在于精 一本走天下的也有
pengfoo 2012-12-01
  • 打赏
  • 举报
回复
形象一点说,可以把这些内容分为3级。 1级包括:数组、链表、树、排序。这些都是最基本的东西,必须非常熟悉,如要多写写链表的插入删除节点,树的遍历啥的。特别是排序, 第2级包括:所有常见的数据结构、简单的分冶和贪心、基本动归和搜索算法。 第3级:除了常见的数据结构,你还得对啥字符树啊,B+树啊比较熟悉,hash必须能写出一个优秀的hash算法并且知道hash的几种不同实现如何解决冲突等,对于几种常见算法类型如动归搜索等,最好在pku的acm平台上都做上几道题熟悉一下,锻炼解题思维。当然,如果你是ACMer,可以自动忽略这段东西。 以上转载自网络,与你共勉!
pengfoo 2012-12-01
  • 打赏
  • 举报
回复
先学好编程 基础,掌握一门编程语言,例如c语言,写过一定的代码,然后学习数据结构和算法,对数组、链表、堆、树、图、hash这几个数据结构有了一定认识,对排序、分冶、贪心、动归、搜索、这几种常见算法有了初步概念后(推荐一本书《大会数据结构》),在这之后,算法导论则是进阶的必备书!
独孤过儿 2012-12-01
  • 打赏
  • 举报
回复
这是学算法的最好的书,没有之一 里面的 证明算法正确性 的部分需要到数学,大概是高中毕业的水平就足够了 这本书必须要静下心来仔细读,期望一口吃个胖子的,趁早绕道吧
it_shicong 2012-12-01
  • 打赏
  • 举报
回复
看啥啊,看,把专业课学好就行了,你能把你专业课本背下来吗? 不然就是好高骛远,就算你把这本书买回来,也是放在一边,不会怎么看的。 我发觉,我越来越喜欢多管闲事了。
xiaoji0507 2012-12-01
  • 打赏
  • 举报
回复
刚买了这本书。还没到货。。
flyrack 2012-12-01
  • 打赏
  • 举报
回复
其实是国内的数学课程设置不合理,按照国外的数学教学,学完高中数学看这本书就很好理解了
14号选手 2012-12-01
  • 打赏
  • 举报
回复
引用 4 楼 appl55 的回复:
引用 3 楼 xuchao1229 的回复:要有数学基础,数据结构什么的也要学好可以讲一下您的学习经历吗?还有我想请问一下,在看算法导论这本书之前,看一些什么书比较好?
学习方法来说的话是仁者见仁智者见智的 适合我不一定适合你,适合你的不一定适合你 只要找到适合自己的方法就行了,但是一定要保持兴趣的良性循环 先把该学的基础课学好然后再慢慢的提高
weidu23 2012-12-01
  • 打赏
  • 举报
回复
怎么会想到看着书 ? 其实呢,我个人觉得《算法导论》相当坑爹, 说是说程序员必读物,其实真没几个人会老老实实地看。 导论?我看没点基础的"导论"不出来吧! ------------------ 个人觉得张乃孝的数据结构倒是本好读物, 建议楼主不要看到国外著作就激动,其实国内也有水平的,比如这位张乃孝的! 我看行 !
appl55 2012-12-01
  • 打赏
  • 举报
回复
引用 3 楼 xuchao1229 的回复:
要有数学基础,数据结构什么的也要学好
可以讲一下您的学习经历吗?还有我想请问一下,在看算法导论这本书之前,看一些什么书比较好?
14号选手 2012-12-01
  • 打赏
  • 举报
回复
要有数学基础,数据结构什么的也要学好
加载更多回复(1)
一、本书的内容 目前,市面上有关计算机算法的书很多,有些叙述严谨但不全面,另外一些则是容量很大但不够严谨。本书将叙述的严谨性以及内容的深度和广度有机地结合了起来。第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例解答,并通过清晰的图示来说明算法的执行过程。. 本书是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了“循环不变式”,并贯穿始终地用来证明算法的正确性。在不改动数学和分析重点的前提下,作者将第1版中的许多数学基础知识从第一部分移到了附录中。 二、本书的特点 本书在进行算法分析的过程中,保持了很好的数学严谨性。书中的分析和设计可以被具有各种水平的读者所理解。相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。 本书的特点可以概括为以下几个方面: 1.概念清晰,广度、深度兼顾。 本书收集了现代计算机常用的数据结构和算法,并作了系统而深入的介绍。对涉及的概念和背景知识都作了清晰的阐述,有关的定理给出了完整的证明。 2.“五个一”的描述方法。 本书以相当的深度介绍了许多常用的数据结构和有效的算法。编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。.. 3.图文并茂,可读性强。 书中的算法均以通俗易懂的语言进行说明,并采用了大量插图来说明算法是如何工作的,易于理解。 4.算法的“伪代码”形式简明实用。 书中的算法均以非常简明的“伪代码”形式来设计,可以很容易地把它转化为计算机程序,直接应用。 注重算法设计的效率,对所有的算法进行了仔细、精确的运行时间分析,有利于进一步改进算法。 三、本书的用法 本书对内容进行了精心的设计和安排,尽可能考虑到所有水平的读者。即使是初学计算机算法的人,也可以在本书中找到所需的材料。 每一章都是独立的,读者只需将注意力集中到最感兴趣的章节阅读。 1.适合作为教材或教学参考书。 本书兼顾通用性与系统性,覆盖了许多方面的内容。本书不但阐述通俗、严谨,而且提供了大量练习和思考题。针对每一节的内容,都给出了数量和难度不等的练习题。练习题用于考察对基本内容的掌握程度,思考题有一定的难度,需进行精心的研究,有时还通过思考题介绍一些新的知识。 前言回到顶部↑本书提供了对当代计算机算法研究的一个全面、综合性的介绍。书中给出了多个算法,并对它们进行了较为深入的分析,使得这些算法的设计和分析易于被各个层次的读者所理解。力求在不牺牲分析的深度和数学严密性的前提下,给出深入浅出的说明。. 书中每一章都给出了一个算法、一种算法设计技术、一个应用领域或一个相关的主题。算法是用英语和一种“伪代码”来描述的,任何有一点程序设计经验的人都能看得懂。书中给出了230多幅图,说明各个算法的工作过程。我们强调将算法的效率作为一种设计标准,对书中的所有算法,都给出了关于其运行时间的详细分析。 本书主要供本科生和研究生的算法或数据结构课程使用。因为书中讨论了算法设计中的工程问题及其数学性质,因此,本书也可以供专业技术人员自学之用。 本书是第2版。在这个版本里,我们对全书进行了更新。所做的改动从新增了若干章,到个别语句的改写。 致使用本书的教师 本书的设计目标是全面、适用于多种用途。它可用于若干课程,从本科生的数据结构课程到研究生的算法课程。由于书中给出的内容比较多,只讲一学期一般讲不完,因此,教师们应该将本书看成是一种“缓存区”或“瑞典式自助餐”,从中挑选出能最好地支持自己希望教授的课程的内容。 教师们会发现,要围绕自己所需的各个章节来组织课程是比较容易的。书中的各章都是相对独立的,因此,你不必担心意想不到的或不必要的各章之间的依赖关系。每一章都是以节为单位,内容由易到难。如果将本书用于本科生的课程,可以选用每一章的前面几节内容;在研究生课程中,则可以完整地讲授每一章。 全书包含920多个练习题和140多个思考题。每一节结束时给出练习题,每一章结束时给出一些
一、本书的内容 目前,市面上有关计算机算法的书很多,有些叙述严谨但不全面,另外一些则是容量很大但不够严谨。本书将叙述的严谨性以及内容的深度和广度有机地结合了起来。第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例解答,并通过清晰的图示来说明算法的执行过程。. 本书是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了“循环不变式”,并贯穿始终地用来证明算法的正确性。在不改动数学和分析重点的前提下,作者将第1版中的许多数学基础知识从第一部分移到了附录中。 二、本书的特点 本书在进行算法分析的过程中,保持了很好的数学严谨性。书中的分析和设计可以被具有各种水平的读者所理解。相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。 本书的特点可以概括为以下几个方面: 1.概念清晰,广度、深度兼顾。 本书收集了现代计算机常用的数据结构和算法,并作了系统而深入的介绍。对涉及的概念和背景知识都作了清晰的阐述,有关的定理给出了完整的证明。 2.“五个一”的描述方法。 本书以相当的深度介绍了许多常用的数据结构和有效的算法。编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。.. 3.图文并茂,可读性强。 书中的算法均以通俗易懂的语言进行说明,并采用了大量插图来说明算法是如何工作的,易于理解。 4.算法的“伪代码”形式简明实用。 书中的算法均以非常简明的“伪代码”形式来设计,可以很容易地把它转化为计算机程序,直接应用。 注重算法设计的效率,对所有的算法进行了仔细、精确的运行时间分析,有利于进一步改进算法。 三、本书的用法 本书对内容进行了精心的设计和安排,尽可能考虑到所有水平的读者。即使是初学计算机算法的人,也可以在本书中找到所需的材料。 每一章都是独立的,读者只需将注意力集中到最感兴趣的章节阅读。 1.适合作为教材或教学参考书。 本书兼顾通用性与系统性,覆盖了许多方面的内容。本书不但阐述通俗、严谨,而且提供了大量练习和思考题。针对每一节的内容,都给出了数量和难度不等的练习题。练习题用于考察对基本内容的掌握程度,思考题有一定的难度,需进行精心的研究,有时还通过思考题介绍一些新的知识。 前言回到顶部↑本书提供了对当代计算机算法研究的一个全面、综合性的介绍。书中给出了多个算法,并对它们进行了较为深入的分析,使得这些算法的设计和分析易于被各个层次的读者所理解。力求在不牺牲分析的深度和数学严密性的前提下,给出深入浅出的说明。. 书中每一章都给出了一个算法、一种算法设计技术、一个应用领域或一个相关的主题。算法是用英语和一种“伪代码”来描述的,任何有一点程序设计经验的人都能看得懂。书中给出了230多幅图,说明各个算法的工作过程。我们强调将算法的效率作为一种设计标准,对书中的所有算法,都给出了关于其运行时间的详细分析。 本书主要供本科生和研究生的算法或数据结构课程使用。因为书中讨论了算法设计中的工程问题及其数学性质,因此,本书也可以供专业技术人员自学之用。 本书是第2版。在这个版本里,我们对全书进行了更新。所做的改动从新增了若干章,到个别语句的改写。 致使用本书的教师 本书的设计目标是全面、适用于多种用途。它可用于若干课程,从本科生的数据结构课程到研究生的算法课程。由于书中给出的内容比较多,只讲一学期一般讲不完,因此,教师们应该将本书看成是一种“缓存区”或“瑞典式自助餐”,从中挑选出能最好地支持自己希望教授的课程的内容。 教师们会发现,要围绕自己所需的各个章节来组织课程是比较容易的。书中的各章都是相对独立的,因此,你不必担心意想不到的或不必要的各章之间的依赖关系。每一章都是以节为单位,内容由易到难。如果将本书用于本科生的课程,可以选用每一章的前面几节内容;在研究生课程中,则可以完整地讲授每一章。 全书包含920多个练习题和140多个思考题。每一节结束时给出练习题,每一章结束时给出一些
本书全面讲述算法和数据结构的必备知识,具有以下几大特色。  算法领域的经典参考书 Sedgewick畅销著作的最新版,反映了经过几十年演化而成的算法核心知识体系  内容全面 全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  与实际应用相结合 在重要的科学、工程和商业应用环境下探讨算法,给出了算法的实际代码,而非同类著作常用的伪代码  富于智力趣味性 简明扼要的内容,用丰富的视觉元素展示的示例,精心设计的代码,详尽的历史和科学背景知识,各种难度的练习,这一切都将使读者手不释卷  科学的方法 用合适的数学模型精确地讨论算法性能,这些模型是在真实环境中得到验证的  与网络相结合 配套网站algs4.cs.princeton.edu提供了本书内容的摘要及相关的代码、测试数据、编程练习、教学课件等资源 Robert Sedgewick 斯坦福大学博士,导师为Donald E. Knuth,从1985年开始一直担任普林斯顿大学计算机科学系教授,曾任该系主任,也是Adobe Systems公司董事会成员,曾在Xerox PARC、国防分析研究所(Institute for Defense Analyses)和法国国家信息与自动化研究所(INRIA)从事研究工作。他的研究方向包括解析组合学、数据结构和算法的分析与设计、程序可视化等。 Kevin Wayne 康奈尔大学博士,普林斯顿大学计算机科学系高级讲师,研究方向包括算法的设计、分析和实现,特别是图和离散优化。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧