本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
本书是普通高等教育"十一五 *规划教材和国家精品课程教材。全书以算法设计策略为知识单元,系统介绍计算机算法的设计方法与分析技巧。主要内容包括:算法概述、递归与分治策略、动态规划、贪心算法、回溯法、分支限界法、随机化算法、线性规划与网络流等。书中既涉及经典与实用算法及实例分析,又包括算法热点领域追踪。 为突出教材的可读性和可用性,章首增加了学习要点提示,章末配有难易适度的算法分析题和算法实现题;配套出版《计算机算法设计与分析习题解答(第5版)》;并免费提供电子课件和教学网站服务。
这是一本关于 高级/进阶 算法和数据结构的图书,主要介绍了用于Web应用程序、系统编程和数据处理领域的各种算法,旨在让读者了解如何用这些算法应对各种棘手的编码挑战,以及如何将其应用于具体问题,以应对新技术浪潮下的 棘手 问题。 本书对一些广为人知的基本算法进行了扩展,还介绍了用于改善优先队列、有效缓存、对数据进行集群等的技术,以期读者能针对不同编程问题选出更好的解决方案。书中示例大多辅以图解,并以不囿于特定语言的伪代码以及多种语言的代码样本加以闸释。 学完本书,读者可以了解高级算法和数据结构的相关内容,并能运用这些知识让代码具备更优性能,甚至能够独立设计数据结构,应对需要自定义解决方案的情况。 本书可作为高等院校计算机相关专业本科高年级学生以及研究生的学习用书,也可供从事与算法相关工作
本书收集了历年来国家统考和985、211等重点高校和研究院、所的350多套硕士研究生入学“(算法与)数据结构”考试试卷的2100多道试题。作者按照数据结构课程的知识点对这些题目进行分类。在回顾知识点的基础上,对每一类题目进行分析、归纳答题思路,并给出了参考答案。本书收录的题目具有典型性,充分理解这些题目有助于学生更好地掌握数据结构课程的核心内容,以及应用知识解决实际问题的方法。 本书可以作为高等院校计算机及相关专业学习数据结构课程的参考书,对于报考相关专业硕士研究生的考生也极具价值,同时也适用于讲授该课程的教师以及自修该课程的其他人员。
本书是用轻松有趣的方法学习算法的入门指南。按照算法策略分为8章。第1章以算法之美、趣味故事引入算法,讲解算法复杂度的计算方法,以及爆炸性增量问题。2~7章讲解经典算法,包括贪心算法、分治算法、动态规划算法、回溯法、分支限界法、网络流算法。第8章讲解实际应用中的算法和高频面试算法,包括启发式搜索、敏感词过滤、LRU算法、快慢指针、单调栈、单调队列、零钱兑换、股票交易等。每一种经典算法都有4~8个实例,多数按照问题分析、算法设计、完美图解、算法详解、算法分析及优化拓展的流程进行讲解。全书讲解清晰,通俗易懂,紧扣工程教育认证的要求和实用性,力求满足新工科人才培养的需要。 本书为河南省 十四五 普通高等教育规划教材,提供了丰富的教学资源与答疑服务,包括源代码、课件、教案、习题、在线答疑和在线测试系
随着复杂网络研究的深入发展和研究领域的不断 扩展,其应用日益广泛。近年来各类数学建模竞赛中 ,基于复杂网络的题目层出不穷,但目前大部分数学 建模书籍中都没有涉及复杂网络的相关内容,而复杂 网络方面的专著偏重于基础理论和方法,涉及算法程 序实现的很少。 将基本理论和计算机算法实现相结合正是本书编 写的初衷。孙玺菁、司守奎编著的《复杂网络算法与 应用》共计9章,主要涉及复杂网络静态特征,各种 网络模型,复杂网络上的传播模型和动力学分析,复 杂网络上的同步研究,复杂网络中的搜索策略,复杂 网络中的社团结构,网络层次分析法,网络博弈论。 基于Matlab给出了作者自主编写的函数和程序,并对 书中出现的大部分例题配备了程序,便于学生从理论 和求解两个角度入手学习复杂网络的相关理论,在学 习中举一反三、
本书内容包括经典的算法设计技术,主要介绍数据结构和标准模板库、递归与分治策略、动态规划、贪心算法、回溯算法、分支限界算法、图的搜索算法、图论、数论和组合数学问题。本书包括大量的问题实例,并在北京大学、浙江大学和杭州电子科技大学在线题库中精选原题,详细地分析解题的方法,深入浅出地讲解用到的算法,章后的上机练习题也选自在线题库中的典型题目,供读者练习,以巩固所学算法。本书内容基本上涵盖了目前大学生程序设计竞赛所要掌握的算法。 本书结构清晰、内容丰富,适合作为计算机科学与技术、软件工程以及相关学科算法课程的教材或参考书,特别适合有志于参加信息学竞赛和ACM大学生程序设计竞赛的读者学习和训练。
《因果推理:基础与学习算法》从概率统计的角度入手,分析了因果推理的假设,揭示这些假设所暗示的因果推理和学习的目的。本书分别论述了两个变量和多变量情况下的因果模型、学习因果模型及其与机器学习的关系,讨论了因果推理隐藏变量有关的问题、时间系列的因果分析。 《因果推理:基础与学习算法》可作为高等院校人工智能和计算机科学等相关专业高年级本科生和硕士研究生的教材,也可供研究机器学习、因果推理的技术人员参考。
本书系统介绍程序设计中常用的基础算法及典型案例,包括排序算法、递归算法、数论基础、组合数学基础、贪心算法、分治算法、动态规划算法和回溯算法等内容。 全书以图文并茂的方式讲解各种基础算法的分析过程,侧重于基础算法的深入理解与实践,配有大量图表辅助算法的分析过程,适用于有一定程序设计基础、尚未学习数据结构且对算法分析与设计感兴趣的算法初学者。 本书各章节配有典型案例和大量图表,既便于教师课堂讲授,也适合读者自学,可作为高等院校 程序设计基础 课程的延伸和 算法分析与设计 课程的入门教材,也可供程序设计竞赛初学者参考。
大多数软件开发人员在复杂的代码上浪费了大量的时间。《整洁代码的艺术》提出的九大原则将教会您如何编写清晰、可维护且功能完备的代码。本书的指导原则很简单:缩减和简化,将精力投入到重要的工作上,省下大量的时间,卸下代码维护的重担。 热销书作者克里斯蒂安 迈尔在本书中利用他的经验帮助许多程序员完善他们的编码技能。他给出专业建议和真实例子,展示如何:利用80/20原则,专注于重要任务 要紧的那20%代码;避免孤立编码,创建小可行产品,获得早期反馈;编写整洁、简单的代码,排除混乱;避免导致代码过度复杂的过早优化;平衡您的目标、能力与反馈,达到高产出的心流状态;应用 做好一件事 哲学,极大地提升代码功能;利用 少即是多 哲学,设计有效用户界面;用 专注 原则贯穿所学的这些新技能。 本书采用Python作为示例语言,但
本书从一系列有趣的生活实例出发,全面介绍了构造算法的基础方法及其广泛应用,生动展现了算法的趣味性和实用性。书中介绍了算法在多个领域的应用,如图像处理、物理实验、计算机图形学、数字音频处理、机器学习等。其中,既有各种大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法、KNN、贝叶斯算法,也有不起眼的排序和概率计算算法。本书讲解浅显易懂而不失深度和严谨,对程序员有很大的启发意义。书中所有示例都与生活息息相关,充分地展现了算法解决问题的本质,让你爱上算法,乐在其中。本书在第1版的基础上新增了图像处理算法、游戏开发中检测碰撞常用的分离轴 (SAT)算法、垃圾邮件过滤相关的算法、中文分词算法、限流算法、手写数字识别和变声器等,进一步提升趣味性。 本书适合软件开发人员、编程和算法爱好者以及
本书由五部分组成:推荐系统的技术、评估、应用、人机交互及高级话题。第 一部分展示了如今构建推荐系统的流行和基础的技术,如协同过滤、基于语义的方法、数据挖掘方法和基于情境感知的方法。第二部分主要关注离线和真实用户环境下用于评估推荐质量的技术及方法。第三部分包括了一些推荐技术多样性的应用。首先简述了与工业实现和推荐系统开发相关的一般性问题,随后详细介绍了推荐系统在各领域中的应用:音乐、学习、移动、社交网络及它们之间的交互。第四部分包含了探讨一系列问题的文章,这些问题包括推荐的展示、浏览、解释和视觉化以及人工决策与推荐系统相关的重要问题。第五部分收集了一些关于高级话题的文章,例如利用主动学习技术来引导新知识的学习,构建能够抵挡恶意用户攻击的健壮推荐系统的合适技术,以及结合多种用户反
本书较全面地叙述了智能控制的基本理论、方法和应用。全书共分17章,主要内容为模糊控制的基本原理和应用、神经网络控制的基本原理和应用、智能优化算法及其应用。 本书系统性强,突出理论联系实际,叙述深入浅出,适合于初学者学习。书中给出了一些智能算法的仿真实例和MATLAB仿真程序,并配有一定数量的习题和上机操作题,可作为高等院校工业自动化、计算机应用、电子工程等专业的高年级本科生和硕士研究生的教材,也适合从事工业自动化领域的工程技术人员阅读和参考。
这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse*核心的部分 MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。 本书采用浅显易懂的语言 大量演示案例 大量示意图例的形式呈现,以求让读者在*短的时间内,以*舒服的方式,获得*核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。 本书在逻辑上分为三大部分: 第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HORAP三
区块链技术是一种全新的分布式基础架构和计算方式,本书着重阐述区块链系统中的共识算法理论及其场景应用。全书共分7章。第1章介绍区块链的发展过程和基本知识。第2~5章介绍传统分布式系统的一致性算法和典型区块链系统的共识机制,并详细介绍基于投票和信任的两种共识算法。第6章介绍融合区块链的拟态分布式安全存储系统。第7章介绍基于联盟链共识的共管共治多标识网络体系管理系统。
演化学习利用演化算法求解机器学习中的复杂优化问题, 在实践中取得了许多成功, 但因其缺少坚实的理论基础, 在很长时期内未获得机器学习社区的广泛接受. 本书主要内容为三位作者在这个方向上过去二十年中主要工作的总结. 全书共18 章, 分为四个部分: 部分(第1~2 章) 简要介绍演化学习和一些关于理论研究的预备知识; 第二部分(第3~6章) 介绍用于分析运行时间复杂度和逼近能力这两个演化学习的基本理论性质的通用工具; 第三部分(第7~12 章) 介绍演化学习关键因素对算法性能影响的一系列理论结果, 包括交叉算子、解的表示、非精确适应度评估、种群的影响等; 第四部分(第13~18 章) 介绍一系列基于理论结果启发的具有一定理论保障的演化学习算法. 本书适合对演化学习感兴趣的研究人员、学生和实践者阅读. 书中第二部分内容或可为有兴趣进一步探索演化学习理
本书从企业数字化转型入手,介绍企业如何通过OpenShift构建PaaS平台、实现DevOps、实现微服务治理和微服务的高级管理。 全书共分为四大部分: *部分PaaS能力建设。即本书的 PaaS三部曲 ,包含第2-4章的内容,分别是:基于OpenShift构建企业级PaaS、OpenShift在企业中的开发和运维实践、OpenShift在公有云上的实践。 第二部分DevOps能力建设。即本书的 DevOps两部曲 ,包含第5-6章的内容,分别为:在OpenShift上实现DevOps、DevOps在企业中的实践。 第三部分微服务能力建设。即本书 微服务三部曲 ,包含第7-9章的内容,分别为:微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。 第四部分微服务高级管理。包含本书第10章的内容。介绍基于OpenShft和红帽其他解决方案微服务的高级管理(API管理、分布式集成和流程自动化),并*终
本书是作者在多年从事算法设计与分析课程教学和研究的基础上编写而成,系统地介绍了算法设计与分析的理论、方法和技术。内容围绕两条主线来组织。一条主线是介绍典范性的算法问题,如排序、选择、图遍历等。 另一条主线是介绍典范性的算法设计分析策略,如分治、贪心、动态规划等算法设计策略和对手分析、平摊分析等算法分析策略。本书中两条主线交替进行,每条主线又各自分为基本和进阶两部分。
《编译原理及编译程序构造(第3版)/普通高校计算机专业精品教材系列》介绍编译理论基础及其实现方法,强调语言的形式化定义、编译技术的各种概念及实现过程的具体方法。介绍过程以算法为核心,力求简单明了地反映编译的基础知识。从形式语言理论角度讨论词法分析和语法分析技术,为计算机软件工作者开发大型软件打下良好基础。 《编译原理及编译程序构造(第3版)/普通高校计算机专业精品教材系列》以理论联系实际为宗旨,内容深入浅出,突出,并结合构造EL语言的编译程序介绍一种常用而又简单的编译方法。 《编译原理及编译程序构造(第3版)/普通高校计算机专业精品教材系列》可作为高等院校计算机专业的本科或专科教材,也可作为硕士研究生入学考试及计算机软件技术人员的参考书。
集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功。全书分为三部分。*部分主要介绍集成学习的背景知识;第二部分主要介绍集成学习方法的核心知识,包括Boosting、Bagging、Random Forests等经典算法,平均、投票和Stacking等模型和方法、相关理论分析工作,以及多样性度量和增强方面的进展。第三部分介绍集成学习方法的进阶议题,包括集成修剪、聚类集成和集成学习方法在半监督学习、主动学习、代价敏感学习、类别不平衡学习,以及提升可理解性方面的进展。此外,本书还在每章中的 拓展阅读 部分提供了相关的进阶内容。本书适合对集成学习方法感兴趣的研究人员、学生和实践者阅读。