算法
算法导论(原书第2版) 豆瓣 Goodreads
Introduction to Algorithms
9.3 (14 个评分) 作者: [美] Thomas H.Cormen / Charles E.Leiserson 译者: 潘金贵 等 机械工业出版社 2006 - 9
这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。
数据结构与算法分析 豆瓣 Goodreads
作者: [美] Mark Allen Weiss 译者: 张怀勇 人民邮电出版社 2007
《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课程可以使用《数据结构与算法分析:C++描述(第3版)》第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。
编程珠玑 豆瓣
Programming Pearls
9.3 (20 个评分) 作者: [美] Jon Bentley 译者: 黄倩 / 钱丽艳 人民邮电出版社 2008 - 10
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...
算法:C语言实现 豆瓣
作者: 塞奇威克 译者: 霍红卫 机械工业出版社 2009 - 10
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论散列方法、基数搜索以及外部搜索方法。书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习,还包含大量简洁的实现将理论和实践成功地相结合,这些实现均可用在真实应用上。
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生算法课程的教材,也是广大研究人员的极佳参考读物。
挑战编程 豆瓣
Programming Challenges: The Programming Contest Training Manual
作者: 斯基纳 译者: 刘汝佳 清华大学出版社 2009 - 7
《挑战编程:程序设计竞赛训练手册》分为14章,分别介绍在线评测系统的基本使用方法、数据结构、字符串、排序、算术与代数、组合数学、数论、回溯法、图遍历、图算法、动态规划、网格、几何,以及计算几何,并在附录中介绍了一些著名的程序设计竞赛以及相应的备赛建议与比赛技巧。每章的正文用十余页的篇幅覆盖了该领域最核心的概念和算法,然后给出八道可在线提交的完整编程挑战题目供读者练习。
全书内容紧凑、信息量大,是各类程序设计竞赛的选手与教练不可多得的参考书。
编程之美 豆瓣 Goodreads
7.8 (17 个评分) 作者: 《编程之美》小组 编 电子工业出版社 2008 - 3
这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。本书的内容分为下面几个部分:
(1)游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。
(2)数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行处理的题目。
(3)结构之法:汇集了常见的对字符串、链表、队列,以及树等进行操作的题目。
(4)数学之趣:列举了一些不需要写具体程序的数学问题,锻炼读者的抽象思维能力。
书中绝大部分题目都提供了详细的解说。 每道题目后面还有一至两道扩展问题,供读者进一步钻研。
书中还讲述了面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才。回答读者关于IT业面试,招聘,职业发展的疑问。这本书的很多题目会出现在IT 行业的各种笔试、面试中,但这本书更深层的意义在于引导读者思考,和读者共享思考之乐,编程之美。
算法艺术与信息学竞赛 豆瓣 Goodreads
8.0 (5 个评分) 作者: 刘汝佳 清华大学出版社 2004 - 1
《算法艺术与信息学竞赛》较为系统和全面地介绍了算法学最基本的知识。这些知识和技巧既是高等院校“算法与数据结构”课程的主要内容,也是国际青少年信息学奥林匹克(IOI)竞赛和ACM/ICPC国际大学生程序设计竞赛中所需要的。书中分析了相当数量的问题。
本书共3章。第1章介绍算法与数据结构;第2章介绍数学知识和方法;第3章介绍计算机几何。全书内容丰富,分析透彻,启发性强,既适合读者自学,也适合于课堂讲授。
本书适用于各个层次的信息学爱好者、参赛选手、辅导老师和高等院校计算机专业的师生。本书既是信息学入门和提高的好帮手,也是一本内容丰富、新颖的资料集。
巨量串匹配基础 豆瓣
2012 - 1
《巨量串匹配基础》讨论如何把巨量字符串的串匹配问题自动生成一个优化的完全自动机,以及其简化和有效硬件的实现,进一步讨论模糊化的U-不确定控制下的巨量字符串和干扰条件下的V-不确定控制下的巨量字符串的串匹配,以及超长字符串的部分匹配的算法和硬件实现方法。《巨量串匹配基础》的有关研究工作前后得到国家自然科学基金GJZRJJ-60873002的资助,973课题2007CB311103的资助。《巨量串匹配基础》可作为计算机科学技术相关专业领域研究人员提高理论素质的参考书,也可以作为相关专业研究生学习专业基础的研究资料。
程序员的数学 豆瓣
6.6 (14 个评分) 作者: 结城浩 译者: 管杰 人民邮电出版社 2012 - 10
如果数学不好,是否可以成为一名程序员呢?答案是肯定的。 本书最适合:数学糟糕但又想学习编程的你。
没有晦涩的公式,只有好玩的数学题。
帮你掌握编程所需的“数学思维”。
日文版已重印14次!
编程的基础是计算机科学,而计算机科学的基础是数学。因此,学习数学有助于巩固编程的基础,写出更健壮的程序。
本书面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读本书。
书中讲 解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、少年高斯求和方法、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。
本书还对程序员和计算机的分工进行了有益的探讨。读完此书,你会对以程序为媒介的人机合作有更深刻的理解。
算法竞赛入门经典 豆瓣 Goodreads
7.7 (7 个评分) 作者: 刘汝佳 清华大学出版社 2009 - 11
《算法竞赛入门经典》是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧。另外,书中包含的各种开发、测试和调试技巧也是在传统的语言、算法类书籍中难以见到的。
《算法竞赛入门经典》可作为全国青少年信息学奥林匹克联赛(NOIP)的复赛教材及ACM国际大学。
算法竞赛入门经典 Goodreads 豆瓣
作者: 刘汝佳 / 陈锋 清华大学出版社 2012 - 10
《算法竞赛入门经典:训练指南》是《算法竞赛入门经典》的重要补充,旨在补充原书中没有涉及或者讲解得不够详细的内容,从而构建一个较完整的知识体系,并且用大量有针对性的题目,让抽象复杂的算法和数学具体化、实用化。《算法竞赛入门经典:训练指南》共6章,分别为算法设计基础、数学基础、实用数据结构、几何问题、图论算法与模型和更多算法专题,全书通过近200道例题深入浅出地介绍了上述领域的各个知识点、经典思维方式以及程序实现的常见方法和技巧,并在章末和附录中给出了丰富的分类习题,供读者查漏补缺和强化学习效果。
ACM-ICPC世界总决赛试题解析 豆瓣
作者: 吴永辉 / 王建德 机械工业出版社 2012 - 8
《华章教育•ACM-ICPC世界总决赛试题解析(2004-2011年)》给出2004-2011年ACM国际大学生程序设计竞赛世界总决赛的所有试题的解析。《华章教育•ACM-ICPC世界总决赛试题解析(2004-2011年)》将总决赛试题按年度划分,每一年度的总决赛试题为一章,而每一道试题作为一节。试题全部翻译成中文,试题解析以解题策略为主轴,给出详尽、细致的解析和带有详尽注解的程序代码。这样做使得《华章教育•ACM-ICPC世界总决赛试题解析(2004-2011年)》可以面向各个阶层的广大读者,不仅要让编程高手从中受益,而且也要让刚入门的同学能轻松地学习,有效地提高通过编程解决问题的能力。
算法概论 豆瓣 Goodreads
Algorithms
作者: Sanjoy Dasgupta / Christos Papadimitriou 译者: 王沛 / 唐扬斌 清华大学出版社 2008 - 7
《国外经典教材·算法概论》涵盖了绝大多数算法设计中的常用技术。在表达每一种技术时,阐述它的应用背景,强调每个算法运转背后的简洁数学思想,注意运用与其他技术类比的方法来说明它的特征,并提供了大量相应实际问题的例子。《国外经典教材·算法概论》同时也注重了对每一种算法的复杂性分析。全书共10章,从基本的数字算法人手,先后介绍了分治、图的遍历、贪心算法、动态规划、线性规划等技术,对NP完全问题进行厂基本而清晰的阐述,对随机算法、近似算法和量子算法这些近年来发展迅猛的领域也花费了一定的笔墨。书中每章后面都附有大量的习题,有利于读者对书中内容的理解和应用。
Ray Tracing from the Ground Up 豆瓣
作者: Suffern, Kevin A K Peters Ltd 2007 - 9
This book describes the step-by-step process of writing a ray tracer from scratch. Using numerous examples that illustrate the ray-tracing concept and processes in detail, the author presents a ray-tracer design and sample code that allows for extensibility, efficiency of the algorithms, and readability. Chapters begin with stated aims and include questions and exercises that allow the reader to apply the material presented.
Special features:
* Describes in detail how to write a ray tracer “from the ground up”
* Hundreds of diagrams, ray-traced images, and sample code
* Many of the exercises involve adding features to the ray tracer
* Many questions ask readers to think about ray traced images
2014年1月4日 已读
当年暑假集训没事干,一边刷这本书一边完成了一个 baby ray tracer。
图形学 算法 计算机
程序设计中常用的解题策略 豆瓣
作者: 王建德 / 吴永辉 人民邮电出版社 2009 - 10
《程序设计中常用的解题策略》按照题型和知识点分类,以数据关系上的构造策略、数据统计上的二分策略、动态规划上的优化策略、计算几何问题上的应对策略这4个方面为基本构件,介绍了几十种解题策略和重要算法;同时,深入浅出地分析和证明了对每种解题策略和算法的原理,采用“一题多解”、“多向求解”的方式解析了70余道例题,并结合应用例证阐释了编程中常用的一些思维方式和解题策略,以拓宽读者的思路,教会读者应该怎样应用算法知识解题,应该怎样选择有效的算法。
《程序设计中常用的解题策略》既可以作为大专院校计算机专业算法类课程的教材,亦可以作为大学和中学的程序设计竞赛活动的培训教程,还可以作为计算机软件研发的参考资料。
编程珠玑(续) 豆瓣
More Programming Pearls: Confessions of a Coder
8.7 (6 个评分) 作者: [美] Jon Bentley 译者: 钱丽艳 / 刘田 等 人民邮电出版社 2011 - 5
Jon Bentley编著的《编程珠玑(续)》是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容组成一个有机的整体,如一串串珠玑展示给程序员。《编程珠玑(续)》适合各级程序员阅读参考。
2014年6月29日 已读
续集不那么拘泥于算法,还涉及到 GUI 和架构模式的一点点东西。但全书太薄,无法面面俱到,故任何方面都不甚深入,只当编程科普来看。
算法 计算机
FFT Algorithms, Including 豆瓣
作者: Books, Hephaestus
Hephaestus Books represents a new publishing paradigm, allowing disparate content sources to be curated into cohesive, relevant, and informative books. To date, this content has been curated from Wikipedia articles and images under Creative Commons licensing, although as Hephaestus Books continues to increase in scope and dimension, more licensed and public domain content is being added. We believe books such as this represent a new and exciting lexicon in the sharing of human knowledge. This particular book is a collaboration focused on FFT algorithms.
光线跟踪算法技术 豆瓣
Ray Tracing from the Ground Up
作者: 萨芬 译者: 刘天慧 清华大学出版社 2011 - 3
《光线跟踪算法技术》详细阐述了与光线跟踪问题相关的高效解决方案及相应的数据结构和算法,主要包括采样技术、投影视图、视见系统、景深、非线性投影、立体视觉、光照与材质、镜面反射、光泽反射、全局光照、透明度、阴影、环境遮挡、区域光照、光线与对象间的相交计算、对象变换、栅格技术以及纹理映射技术等内容。此外,《光线跟踪算法技术》还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解计算方案的实现过程。
《光线跟踪算法技术》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。