关于算法分析的这多卷论著已经长期被公认为经典计算机科学的定义性描述。迄今已出版的完整的三卷组成了程序设计理论和实践的惟一的珍贵源泉,无数读者都赞扬Knuth的著作对个人的深远影响。科学家们为他的分析的美丽和优雅所惊叹,而从事实践的程序员们已经成功地应用他的“菜谱式”的解到日常问题上,所有人都由于Knuth在书中所表现出的博学、清晰、精确和高度幽默而对他无比敬仰。
为开始后续各卷的写作并更新现有三卷中的部分内容,Knuth创立了称作册的一系列小部头的书,定期出版。每一册将包含一部分或多个部分的全新的或修订的内容。最终,这些册的内容将归并成每卷综合的最终版本,而在1962年开始的许多努力将得以完成。
本册主要讨论生成所有树,这个主题与《计算机程序设计艺术》前3卷有着令人吃惊的紧密联系。Knuth在本册中全面地讨论了这个著名的主题,提供了124个新的练习,继续为程序设计打下坚实的基础。同时,本册还论述了组合生成的历史。对几个文明古国及其他国家在这方面的历史进行了透彻的研究和精辟的分析。
《计算机程序设计艺术》(经典计算机科学著作最新版)(第1卷第1册双语版)更新了《计算机程序设计艺术,第1卷,基本算法》(第3版),并且最终将成为该书第4版的一部分。具体地说,它向程序员提供了盼望已久的MMIX,代替原来的MIX的一个以RISC为基础的计算机,并且描述了MMIX汇编语言。
本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后是部分习题的答案及参考文献。本书的特色有二,旨在提高读者的问题求解能力,使读者能够理解算法设计的过程和思想:一是强调算法设计的创造性过程,注重算法设计背后的创造性思想,而不拘泥于某个具体算法的详细讨论;二是将算法设计类比于定理归纳证明,揭示了算法设计的基本思想和本质。
本书的组织结构清晰且易于理解,强调了创造性,具有浓郁特色,时至今日仍有其巨大的价值,并且适合作为计算机及相关专业算法和高级算法课程的教材。
计算机科学和经济学在过去的十多年中进行了热烈的交互,产生了新的算法博弈论领域。许多现代计算机科学的核心问题,从大型网络的资源分配到在线广告,都涉及多个自利方个体之间的相互作用。经济学和博弈论为这些问题提供了大量有用的模型和定义。同时,对于传统经济学的许多问题,来自计算机科学的研究又起到了补充作用。《斯坦福算法博弈论二十讲》源于作者在斯坦福大学的算法博弈论课程讲义,旨在让学生和其他新学者快速、方便地了解该领域的许多重要的概念。《斯坦福算法博弈论二十讲》通过在线广告、无线频谱交易和网络管理等案例来说明这些概念,非常适合课堂教授和自学。
本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。
在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
全书特点如下:
●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法
●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树
●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构
●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容
●合并了堆排序平均情况分析的一些新结果
本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。 本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。
全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。
第3版的主要变化:
新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。
修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。
移除两章很少讲授的内容:二项堆和排序网络。
修订了动态规划和贪心算法相关内容。
流网络相关材料现在基于边上的全部流。
由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。
修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。
新增100道练习和28道思考题,还更新并补充了参考文献。
本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站 algs4.cs.princeton.edu 提供了本书内容摘要以及相关代码、测试数据、编程练习、教学课件等资源。
《剑指Offer——名企面试官精讲典型编程题(纪念版)》是为纪念本书英文版全球发行而推出的特殊版本,在原版基础上新增大量本书英文版中的精选题目,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。全书分为8章,主要包括面试流程:讨论面试每一环节需要注意的问题;面试需要的基础知识:从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量代码:讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解题思路:总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路再动手编程;优化时间和空间效率:读者将学会优化时间效率及空间换时间的常用算法,从而在面试中找到最优解;面试必备能力:总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;综合面试案例:总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为;英文版面试题增补,优选久经欧美知名企业面试考验的经典题目,帮助国内读者开阔视野、增补技能。
《剑指Offer——名企面试官精讲典型编程题(纪念版)》适合即将走向工作岗位的大学生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。
本书是国内外业界广泛关注的7卷本《计算机程序设计艺术》第2卷的最新版。本卷对半数值算法领域做了全面介绍,分“随机数”和“算术”两章。本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系,其中特别值得注意的是作者对随机数生成程序的重新处理和对形式幂级数计算的讨论。 本书附有大量习题和答案,标明了难易程度及数学概念的使用。 本书内容精辟,语言流畅,引人入胜,可供从事计算机科学、计算数学、计算技术诸方面的工作人员参考、研究和借鉴,也是相关专业高等院校的理想教材和教学参考书。
7卷本《计算机程序设计艺术》的第1卷以基本的程序设计概念和技术开始,然后专注于信息结构——计算机内部信息的表示、数据元素之间的结构关系以及如何有效地处理它们,给出了对于模拟、数值方法、符号计算、软件和系统设计的初等应用。书中附有大量习题和答案,标明了难易程序及数学概念的使用。
此新版本增加了几十项简单且重要的算法和技术,并对有关数学预备知识作了大量修改以适应现时研究的趋势。
本书对计算机科学方面的数理逻辑进行了综合介绍,涵盖命题逻辑、谓词逻辑、模态逻辑与代理、二叉判定图、模型检测和程序验证等内容。本书主要讨论有关软硬件规范和验证这一主题,反映了计算机科学中数理逻辑的新发展和实际需要。第2版新增了可满足性算法、L6wenheim—Skolem定理等,并介绍了Alloy语言和NuSMV工具等内容。
本书适宜作为高等院校计算机及相关专业的数理逻辑/形式化方法课程的教材,也可供相关研究人员和专业人士参考。
本书是一部设计与分析领域的经典著作,着重介绍了计算机算法设计领域的基本原则和根本原理。书中深入分析了一些计算机模型上的算法,介绍了一些和设计有效算法有关的数据结构和编程技术,为读者提供了有关递归方法、分治方法和动态规划方面的详细实例和实际应用,并致力于更有效算法的设计和开发。同时,对NP完全等问题能否有效求解进行了分析,并探索了应用启发式算法解决问题的途径。另外,本书还提供了大量富有指导意义的习题。
本书可以作为高等院校计算机算法设计与分析课程的本科生或研究生教材,也可以作为计算机理论研究人员、计算机算法设计人员的参考书。
本书展示了机器学习中核心的算法和理论,并阐明了算法的运行过程。综合了许多的研究成果,例如统计学、人工智能、哲学、信息论、生物学、认知科学、计算复杂性和控制论等,并以此来理解问题的背景、算法和其中的隐含假定。
本书可作为计算机专业 本科生、研究生 教材,也可作为相关领域研究人员、教师的参考书。
本书在介绍算法时,重点介绍用干设计算法的策略.非常与众不同。书中介绍了剪枝搜索、分摊分析、随机算法、在线算法以及多项式近似方案等相对较新的思想和众多基于分摊分析新开发的算法,每个算法都与实例一起加以介绍,而且每个例子都利用图进行详细解释。此外,本书还提供了超过400幅图来帮助初学者理解。本书适合作为高等院校算法设计与分析课程的高年级本科生和低年级研究生的教材,也可供相美科技人员和专业人七参考使用。
《C++编程思想(第2卷)(实用编程技术)》介绍C++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流、STL算法、容器和模板的现代用法,包括模板元编程;解释多重继承问题的难点,展示RTTI的实际使用,描述了典型的设计模式及其实现,特别介绍被认为是标准C++下一版特征之一的多线程处理编程技术,并提供了最新的研究成果。《C++编程思想》(第2卷)适合作为高等院校计算机及相关专业的本科生、研究生的教材,也可供从事软件开发的研究人员和科技工作者参考。
海报:
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论散列方法、基数搜索以及外部搜索方法。书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习,还包含大量简洁的实现将理论和实践成功地相结合,这些实现均可用在真实应用上。
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生算法课程的教材,也是广大研究人员的极佳参考读物。
“这本书是越来越多的信息检索文献里的一本好书”
——Donald H. Kraft,计算机评论
“学术巨匠齐聚一堂编撰了一部信息检索的优秀教材。Stefan Bu ̈ttcher、Charles Clarke和Gordon Cormack以合计超过五十年的研究经验,组成了横跨三代的信息检索研究泰斗组合……这本书是所有信息检索研究者和从业人员的必读教材!”
——来自由Amit Singhal撰写的序言
信息检索奠定了现代搜索引擎的基石。本书介绍了现代搜索技术的核心主题,包括了算法、数据结构、索引、检索和评价。重点在于实现和实验;每一章都有练习和对学生项目的建议。Wumpus——本书其中一位作者开发的一个多用户开源信息检索系统,可以在网上下载——提供了模型实现,可作为学生练习的一个基础。本书采用的模块化结构使教师可以将此书用于不同水平的研究生课程中,包括从数据库系统角度教授的课程、专注于理论的传统信息检索课程和关于Web检索基础的课程。
对信息检索的基础进行介绍之后,本书分别在相应的部分介绍了3个重要主题——索引、检索和评价。本书的最后一部分借用并扩展了前面部分的基本内容,考虑了以下具体应用:并行搜索引擎、Web搜索和XML检索。每章末尾的参考文献给出了延伸阅读;练习包括纸笔练习题和重大编程项目。除了用于课堂教学,本书对计算机科学、计算机工程和软件工程的专业人员来说也具有很好的参考价值。
机器学习的目标是对计算机编程,以便使用样本数据或以往的经验来解决给定的问题。已经有许多机器学习的成功应用,包括分析以往销售数据来预测客户行为,优化机器人的行为以便使用较少的资源来完成任务,以及从生物信息数据中提取知识的各种系统。本书是关于机器学习的内容全面的教科书,其中有些内容在一般的在机器学习导论书中很少介绍。主要内容包括监督学习,贝叶斯决策理论,参数、半参数和非参数方法,多元分析,隐马尔可夫模型,增强学习,核机器,图模型,贝叶斯估计和统计检验。
机器学习正在迅速成为计算机科学专业的学生必须掌握的一门技能。本书第3版反映了这种变化,增加了对初学者的支持,包括给出了部分习题的参考答案和补充了实例数据集(提供在线代码)。其他显著的变化包括离群点检测的讨论、感知器和支持向量机的排名算法、矩阵分解和谱方法、距离估计、新的核算法、多层感知器的深度学习和非参数贝叶斯方法。书中对所有学习算法都进行了解释,以便读者可以很容易地将书中的公式转变为计算机程序。本书可以用作高年级本科生和硕士研究生的教材,也可供研究机器学习方法的技术人员参考。
《多处理器编程的艺术》从原理和实践两个方面全面阐述了多处理器编程的指导原则,包含编制高效的多处理器程序所必备的算法技术。此外,附录提供了采用其他程序设计语言包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。《多处理器编程的艺术》适合作为高等院校计算机及相关专业高年级本科生及研究生的教材,同时也可作为相关技术人员的参考书。
目前,多处理器的编程技术受到广泛关注,多处理器编程要求理解新型计算原理、算法及编程工具;至今很少有人能够精通这门编程艺术。
现今,大多数工程技术人员都是通过艰辛的反复实践、求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。《多处理器编程的艺术》所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。
神经网络是计算智能和机器学习的重要分支,在诸多领域都取得了很大的成功。在众多神经网络著作中,影响最为广泛的是Simon Haykin的《神经网络原理》(第3版更名为《神经网络与机器学习》)。在本书中,作者结合近年来神经网络和机器学习的最新进展,从理论和实际应用出发,全面、系统地介绍了神经网络的基本模型、方法和技术,并将神经网络和机器学习有机地结合在一起。
本书不但注重对数学分析方法和理论的探讨,而且也非常关注神经网络在模式识别、信号处理以及控制系统等实际工程问题的应用。本书的可读性非常强,作者举重若轻地对神经网络的基本模型和主要学习理论进行了深入探讨和分析,通过大量的试验报告、例题和习题来帮助读者更好地学习神经网络。
本版在前一版的基础上进行了广泛修订,提供了神经网络和机器学习这两个越来越重要的学科的最新分析。
本书特色:
1. 基于随机梯度下降的在线学习算法;小规模和大规模学习问题。
2. 核方法,包括支持向量机和表达定理。
3. 信息论学习模型,包括连接、独立分量分析(ICA)、一致独立分量分析和信息瓶颈。
4. 随机动态规划,包括逼近和神经动态规划。
5. 逐次状态估计算法,包括卡尔曼和粒子滤波器。
6. 利用逐次状态估计算法训练递归神经网络。
7. 富有洞察力的面向计算机的试验。
工业界称为多核的多处理器机器正迅速地渗入计算的各个领域。多处理器编程要求理解新型计算原理、算法及编程工具,至今很少有人能够精通这门编程艺术。
现今,大多数工程技术人员都是通过艰辛的反复实践、求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。了解本书所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。
本书特色
本修订版结合2008年第1版出版以来课堂教学和读者反馈的勘误和修改意见,对全书进行了多方面的修订和更新。
循序渐进地讲述共享存储器多线程编程的基础知识。
详细解释当今多处理器硬件对并发程序设计的支持方式。
全面考察主流的并发数据结构及其关键设计要素。
从简单的锁机制到最新的事务内存系统,独立、完整地阐述了同步技术。
给出大量利用Java并发工具包编写的可完全执行的Java实例。
附录提供了采用其他程序设计语言和包(如C#、C及C++的Pthreads库)进行编程的相关背景知识以及硬件基础知识。
......我所读过的关于密码学最好的书......该书是美国国家安全局最不愿意见到出版的书......
—— 《Wired》
......不朽的......令人着迷的......计算机程序员必读的密码学上决定性的著作......
—— 《Dr.Dobb's Journal》
......该领域勿庸置疑的一本权威之作。
—— 《PC Magazine》
......编码高手的圣经。
—— The Millennium Whole Earth Catalog
密码学的应用领域远远不只是编码和解码信息,要了解有关密码学技术的数字签名的知识,本书是必读之作。本书介绍了密码学协议的通用类型、特定技术,详细介绍了现实世界密码学算法的内部机制,包括DES和RSA公开密钥加密系统。书中提供了源代码列表和大量密码学应用方面的实践活动,如产 生真正的随机数和保持密钥安全的重要性。
全书共分四个部分,定义了密码学的多个术语,介绍了密码学的发展及背景,描述了密码学从简单到复杂的各种协议,详细讨论了密码技术。并在此基础上列举了如DES、IDEA、RSA、DSA等十多个算法以及多个应用实例,并提供了算法的源代码清单。
全书内容广博权威,具有极大的实用价值,是致力于密码学研究的专业及非专业人员一本难得的好书。
本书系统介绍计算机安全领域中的各个方面,不但包括相关的技术和应用方面的内容,同时还包括管理方面的内容。全书覆盖IEEE/ACM计算机科学教学大纲中核心内容的所有相关主题,可以用作CISSP认证考试的准备材料,还包括计算机安全、技术和理论、软件安全、管理问题、密码算法、因特网安全等内容的深入讨论
本书以通俗、直观的方式清晰阐述了现代密码学的基础知识,包括用来实现通信隐私性/机密性的保密算法(协议)及保证消息正确性、完整性、来源可靠性的数字签名协议,提供了一个易读、易学的关于现代密码学基本原理和数学知识的导引,通过浅显的例子和生动的语言让读者绕过晦涩的专业术语而直接看到密码技术的本质。
本书叙述清晰,简单易懂,适合作为高等院校计算机及相关专业本科生教材。
Robert Sedgewick完全重写了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能够直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。 新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细很多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一些的特点,正是这一点,使Sedgewick的著作成为25万多名程序员无价的参考资源。 本书是全卷的前半部分,涵盖了基本的数据结构、排序算法、搜索算法以及它们的相关应用。虽然本书实质上可以用于各种语言的程序设计,Christopher Van Wyk和Sedgewick的实现都采用了C++类和ADT实现的自然对应。
这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮助广大程序员的面试准备做到万无一失。“刷”完本书后,你就是“题王”!__eol__本书采用题目+解答的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在一起,读者在学习本书时很容易看出面试题解法之间的联系,使知识的学习避免碎片化。书中将所有的面试题从难到易依次分为“将、校、尉、士”四个档次,方便读者有针对性地选择“刷”题。本书所收录的所有面试题都给出了最优解讲解和代码实现,并且提供了一些普通解法和最优解法的运行时间对比,让读者真切地感受到最优解的魅力!__eol__本书中的题目全面且经典,更重要的是,书中收录了大量独家题目和最优解分析,这些内容源自笔者多年来“死磕自己”的深入思考。__eol__码农们,你们做好准备在IT名企的面试中脱颖而出、一举成名了吗?这本书就是你应该拥有的“神兵利器”。当然,对需要提升算法和数据结构等方面能力的程序员而言,本书的价值也是显而易见的。
本书通过扎实、详细的内容和清晰的结构,从算法理论、算法源码、实验结果等方面对深度学习算法进行分析和介绍。本书共三篇,第一篇主要介绍深度学习在计算机视觉方向的一些卷积神经网络,从基础骨干网络、轻量级 CNN、模型架构搜索 3 个方向展开,介绍计算机视觉方向的里程碑算法;第二篇主要介绍深度学习在自然语言处理方向的重要突破,包括基础序列模型和模型预训练;第三篇主要介绍深度学习在模型优化上的进展,包括模型优化方法。
通过阅读本书,读者可以深入理解主流的深度学习基础算法,搭建起自己的知识体系,领会算法的本质,学习模型优化方法。无论是从事深度学习科研的教师及学生,还是从事算法落地实践的工作人员,都能从本书中获益。
算法设计,ISBN:9787302143352,作者:(美)克林伯格(Kleinberg,J.),()塔多斯(Tardos,E.) 著,张立昂,屈婉玲 译
作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。
本书作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。
本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。
人工智能领域正在以超乎人们想象的速度发展,本书赶在人工智能彻底占领世界之前完成编写,实属万幸。
书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。本书从日常工作、生活中各种有趣的现象出发,不仅囊括了机器学习的基本知识 ,而且还包含了成为出众算法工程师的相关技能,更重要的是凝聚了笔者对人工智能领域的一颗热忱之心,旨在培养读者发现问题、解决问题、扩展问题的能力,建立对机器学习的热爱,共绘人工智能世界的宏伟蓝图。
“不积跬步,无以至千里”,本书将从特征工程、模型评估、降维等经典机器学习领域出发,构建一个算法工程师必-备的知识体系;见神经网络、强化学习、生成对抗网络等新科研进展之微,知深度学习领域胜败兴衰之著;“博观而约取,厚积而薄发”,在末一章为读者展示生活中各种引领时代的人工智能应用。
《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。
《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。
《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。
《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。
《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序设计竞赛(ACM/ICPC)的训练资料,也可作为IT工程师与科研人员的参考用书。
《算法竞赛入门经典》是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧。另外,书中包含的各种开发、测试和调试技巧也是在传统的语言、算法类书籍中难以见到的。
《算法竞赛入门经典》可作为全国青少年信息学奥林匹克联赛(NOIP)的复赛教材及ACM国际大学。
第一部分 开始解决问题
第二部分 算法分析
第三部分 算法设计范式
第四部分 一些著名的算法
第五部分 基本数据结构
第六部分 树
第七部分 图
在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。
《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(第2版)》共分7章,主要包括面试的流程,讨论面试每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解决面试题的思路,总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路,再动手编程;优化时间和空间效率,读者将学会优化时间效率及用空间换时间的常用算法,从而在面试中找到最优解;面试中的各项能力,总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;两个面试案例,总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为。
《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑树、AVL 树和字典树)、图、集合(包括不相交集)与字典等常用数据结构。同时,通过对22 个经典问题(包括约瑟夫环问题、汉诺塔问题、八皇后问题和骑士周游问题等)的讲解,逐步揭开隐匿在数据结构背后的算法原理,力图帮助读者夯实知识储备,激活思维技巧,并最终冲破阻碍编程能力提升的重重藩篱。
《算法之美——隐匿在数据结构背后的原理(C++版)》适合作为大专院校相关专业学生研习算法与数据结构知识的课外参考书。对有意参加信息学竞赛的读者,本书亦有很强的参考价值。此外,鉴于算法与数据结构在求职过程中常常被视为考察重点,所以就临近毕业的学生或其他欲从事IT 行业的求职者而言,阅读《算法之美——隐匿在数据结构背后的原理(C++版)》也将对面试备考大有裨益。
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
书评
“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。
本书着重介绍现代密码学的加密思想及其实现方法,内容涉及数论、概率论、抽象代数、加密算法的思想及复杂度理论。本书介绍了密码学的历史沿革,剖析了古典的加密算法为何会被现代的加密算法所取代,展望了密码编码领域的发展,为古典和现代密码体系提供了数学理论基础,还给出了一些针对各种加密算法的密码分析方法。 本书适合作为高校计算机安全与信息安全专业密码学导论的简明教材,也可供对密码学、数论和计算机数论有兴趣的技术人员参考。
本书系统介绍并行程序设计原理及应用。除介绍常用的一些算法范例,包括分治、流水、同步计算、主从及工作池,还介绍了一些常用的经典数值和非数值算法,如排序、矩阵相乘、线性方程组求解、图像处理中的预处理和相应的变换、搜索和优化等。第2版新增了机群计算等使用机群的内容,对如何打造专用和通用的机群以及设置相应的程序设计环境做了较为详尽的介绍。章后包含大量习题,其中现实生活习题非常实用,既可增强学习兴趣,又可提高并行程序设计技巧。
本书可作为高等院校计算机专业高年级本科生或研究生的教材,对从事高性能计算的科技工作者也是一本很有价值的参考书。
本书阐述了用于算法数学分析的主要方法,所涉及的材料来自经典数学课题,包括离散数学、初等实分析、组合数学,以及来自经典的计算机科学课题,包括算法和数据结构,本书内容集中覆盖基础、重要和有趣的算法,前面侧重数学,后面集中讨论算法分析的应用,重点的算法分的的数学方法。每章包含大量习题以及参考文献,使读者可以更深入地理解书中的内容。
本书适合作为高等院校数学、计算机科学以及相关专业的本科生和研究生的教材,也可供相关技术人员参考。
很多学科都面临着一个普遍问题:如何存储、访问异常庞大的数据集,并用模型来描述和理解它们?这些问题使得人们对数据挖掘技术的兴趣不断增强。长期以来,很多相互独立的不同学科分别致力于数据挖掘的各个方面。本书把信息科学、计算科学和统计学在数据挖掘方面的应用融合在一起,是第一本真正和跨学科教材。
本书由三部分构成。第一部分是基础,介绍了数据挖掘算法及其应用所依赖的基本原理。讲座方法直观易懂,深入浅出。第二部分是数据挖掘算法,系统讲座了如何构建求解特定问题的不同算法。讲座的内容包括用于分类和回归的树及规则、关联规则、信念网络、传统统计模型,以及各种非线性模型,比如神经网络和“基于记忆”的局部模型。第三部分介绍了如何应用前面讲座的算法和原理来解决现实世界中的数据挖掘问题。谈到的问题包括元数据的作用,如何处理残缺数据,以及数据预处理。
《并行计算导论》(原书第2版)全面介绍并行计算的各个方面,包括体系结构、编程范例、算法与应用和标准等,涉及并行计算的新技术,也覆盖了较传统的算法,如排序、搜索、图和动态编程等。《并行计算导论》(原书第2版)尽可能采用与底层平台无关的体系结构并且针对抽象模型来设计处落地。书中选择MPI、POSIX线程和OpenMP作为编程模型,并在不同例子中反映了并行计算的不断变化的应用组合。
《人工智能复杂问题求解的结构和策略(原书第6版)》是一本经典的人工智能教材,全面阐述了人工智能的基础理论,有效结合了求解智能问题的数据结构以及实现的算法,把人工智能的应用程序应用于实际环境中,并从社会和哲学、心理学以及神经生理学角度对人工智能进行了独特的讨论。新版中增加了对“基于随机方法的机器学习”的介绍,并提出了一些新的主题,如涌现计算、本体论、随机分割算法等。
《人工智能复杂问题求解的结构和策略(原书第6版)》适合作为高等院校计算机专业人工智能教材,也可供人工智能领域的研究者及相关工程技术人员参考。
本书是一本机器学习入门教程,包含了数学和统计学的核心技术,用于帮助理解一些常用的机器学习算法。书中展示的算法涵盖了机器学习的各个重要领域:分类、聚类和投影。本书对一小部分算法进行了详细描述和推导,而不是简单地将大量算法罗列出来。
本书通过大量的MATLAB/Octave脚本将算法和概念由抽象的等式转化为解决实际问题的工具,利用它们读者可以重新绘制书中的插图,并研究如何改变模型说明和参数取值。
介绍机器学习技术及应用的主要算法和思想。
为读者进一步探索机器学习领域中的特定方向提供起点。
不需要太多的数学知识,穿插在文中的注解框提供相应的数学解释。
每章末均包含练习。
CUDA是一种专门为提高并行程序开发效率而设计的计算架构。在构建高性能应用程序时,CUDA架构可充分发挥GPU的强大计算功能,颇受广大开发者拥趸。本书以并行编程实践者视角,展示了全面、快速提升CUDA程序效能的途径。从并行机制到CUDA开发环境搭建,从GPU高性能计算相关硬件知识到并行计算和CUDA编程技巧,从核心概念到多个热点技术和高级主题,无所不包。本书侧重于CUDA实践应用,特别在CUDA程序优化上下足了工夫,例如发挥多GPU效力。难能可贵的是,作者结合多年实践经验,精心总结出开发者在使用CUDA过程中易犯的错误和有效的规避方法。
本书亮点:
全面介绍并行机制和CUDA编程,即便没有CUDA编程经验也能够轻松掌握;
细致指导,以帮助读者优化CUDA应用程序;
以实用技术演示如何在并行程序中管理内存、线程、算法和各种资源;
涵盖英伟达硬件上三大操作系统的CUDA开发;
每章附有练习,方便检验读者的掌握程度或为课堂提供讨论要点。
《分布式系统概念与设计》旨在全面介绍因特网及其他常用分布式系统的原理、体系结构、算法和设计,内容涵盖分布式系统的相关概念、安全、数据复制、组通信、分布式文件系统、分布式事务等,以及相关的前沿主题,包括web服务、网格、移动系统和无处不在系统等。
《数据结构、算法与应用——C++语言描述》是享有盛誉的数据结构教科书的第2版。它完整地包含了基本数据结构的内容,是CS2课程的理想用书。作者Sartaj Sahni通过循循善诱的讲解、直观具体的讨论和基于现实的应用,让读者轻松、愉快地学习。新版书着重利用标准模板库(STL),把书中开发的数据结构和算法与相应的STL实现方法相互关联。本书还增加了很多新的实例和练习题。
书中的应用实例是它的特色。Sahni博士为每一个数据结构和算法都提供了若干个应用实例,涉及排序、压缩编码和图像处理等多个方面。这些实例把概念和应用结合在一起,使理论与实践统一,从而让概念容易理解,使学生增加学习动力和兴趣。
本书采用的实用教学方法,不仅充实了理论概念,而且大量的习题让学生有了实践机会(书中有800多道练习题,包括理解题和简单的编程题和工程设计题)。除此之外,本书的配套网站上包含书中的所有程序、示例数据、运行结果、部分练习的解答和带有结果的示例测试。
《数据挖掘基础教程》全面介绍数据挖掘的原理、方法和算法。主要内容包括数据挖掘的基本概念、数据挖掘算法的数据类型、输入和输出、决策树、数据挖掘的预处理和后处理、关联规则挖掘、分类和回归算法、支持向量机、聚类分析及多维数据可视化。
《数据挖掘基础教程》讲解深入浅出,并辅以大量实例,随书光盘提供了大量数据集以及两种广泛使用的数据挖掘软件——Weka和ExcelMiner,便于读者理解数据挖掘知识。《数据挖掘基础教程》适合作为高等院校计算机及相关专业数据挖掘课程的教材,也可供广大技术人员参考。
本书采用“问题驱动”、“基础先行”和“实例和实践相结合”的方式,讲述如何使用Python语言进行程序设计。本书首先介绍Python程序设计的基本概念,接着介绍面向对象程序设计方法,最后介绍算法与数据结构方面的内容。为了帮助学生更好地掌握相关知识,本书每章都包括以下模块:学习目标,引言,关键点,检查点,问题,本章总结,测试题,编程题,注意、提示和警告。
本书可以作为高等院校计算机及相关专业Python程序设计课程的教材,也可以作为Python程序设计的自学参考书。
本站基于Calibre构建,感谢开源界的力量。所有资源搜集于互联网,如有侵权请邮件联系。
Github | Docker | Project
关于算法分析的这多卷论著已经长期被公认为经典计算机科学的定义性描述。迄今已出版的完整的三卷组成了程序设计理论和实践的惟一的珍贵源泉,无数读者都赞扬Knuth的著作对个人的深远影响。科学家们为他的分析的美丽和优雅所惊叹,而从事实践的程序员们已经成功地应用他的“菜谱式”的解到日常问题上,所有人都由于Knuth在书中所表现出的博学、清晰、精确和高度幽默而对他无比敬仰。
为开始后续各卷的写作并更新现有三卷中的部分内容,Knuth创立了称作册的一系列小部头的书,定期出版。每一册将包含一部分或多个部分的全新的或修订的内容。最终,这些册的内容将归并成每卷综合的最终版本,而在1962年开始的许多努力将得以完成。
本册主要讨论生成所有树,这个主题与《计算机程序设计艺术》前3卷有着令人吃惊的紧密联系。Knuth在本册中全面地讨论了这个著名的主题,提供了124个新的练习,继续为程序设计打下坚实的基础。同时,本册还论述了组合生成的历史。对几个文明古国及其他国家在这方面的历史进行了透彻的研究和精辟的分析。