本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
本书是备受广大读者推崇的数据结构与算法入门教程,已在GitHub获得超60k的 Star,并多次登顶GitHub Trending。书中系统介绍了数据结构与算法基础、复杂度分析、数组与链表、栈与队列、哈希表、树、堆、图、搜索、排序、分治、回溯、动态规划和贪心算法等核心知识,通过清晰易懂的解释和丰富的代码示例,以及生动形象的全彩插图和在线动画图解,揭示算法工作原理和数据结构底层实现,教授读者如何选择和设计算法来解决不同类型的问题,切实提升编程技能,构建完整的数据结构与算法知识体系。
本书定位于夯实数学建模基础,采用主流编程方法和简洁代码实现常用的数学建模算法,以案例为导向,围绕数学建模知识体系展开。全书分5篇,共11章。前两章是数学建模基础篇,包括数学建模介绍、数学建模的一般流程(初等模型)、如何从算法到编程实现(层次分析法与自定义函数);接着按算法板块组织内容,包括微分方程模型篇(人口模型、传染病模型)、优化模型篇(规划模型、投资优化策略、优化模型进阶)、评价模型篇(经典评价模型、模糊理论)、预测模型篇(常规预测模型、时间序列分析)。本书有配套源码资源和电子课件。 本书可作为高等院校数学建模的入门教材,也可作为数学建模指导教师的参考资料,还可作为其他相关行业人员、科研人员使用数学模型解决实际问题的参考用书。
本书是 逻辑与形而上学教科书系列 中的一本。递归论是数理逻辑的主要分支之一。本书介绍了递归论的基础知识,以及某些有影响的问题与经典构造。本书共分5章。*章介绍了图灵机、递归、递归可枚举等概念以及相关的定理。第二章列举了一些重要的不可判定问题,其中包括希尔伯特第十问题(丢番图整数解判定问题)的否定性结果(即马季亚谢维奇定理)和它的完整证明。第三章介绍了递归论度理论的核心概念和基本事实。在第四章中,读者可以找到递归论中经典的构造技巧 尾节扩张(算术力迫)和有穷损害优先方法。第五章简单介绍了递归论的当前热点 算法随机性理论的基本概念,其中包含马丁-洛夫随机性的几个等价刻画。本书可以作为递归论导论课程的教材,以期为进一步学习与研究递归论建立兴趣并打下基础。本书也可以帮助有兴趣的读者了解递
《因果推理:基础与学习算法》从概率统计的角度入手,分析了因果推理的假设,揭示这些假设所暗示的因果推理和学习的目的。本书分别论述了两个变量和多变量情况下的因果模型、学习因果模型及其与机器学习的关系,讨论了因果推理隐藏变量有关的问题、时间系列的因果分析。 《因果推理:基础与学习算法》可作为高等院校人工智能和计算机科学等相关专业高年级本科生和硕士研究生的教材,也可供研究机器学习、因果推理的技术人员参考。
本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C 语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的遍历和图的连通性;第7章讲解图的应用,包括短路径、小生成树、拓扑排序
本书既清晰、简洁地介绍了标准数值分析教材所涵盖的内容,也介绍了非传统的内容,比如数学建模、蒙特卡罗方法、马尔可夫链和分形。书中选取的例子颇具趣味性和启发性,涉及现代应用领域(如信息检索和动画)以及来自物理和工程的传统主题。习题用MATLAB求解,使计算结果更容易理解。各章都简短介绍了数值方法的历史。而且还有网上资料。
内容介绍 本书基于Python全面介绍了机器学习在信贷风控领域的应用与实践,从原理、算法与工程实践3个维度全面展开,包含21种实用算法和26个解决方案。 作者是智能风控、人工智能和算法领域的专家,曾在多家知名金融科技企业从事风控算法方面的研究与实践,经验丰富,本书得到了风控领域9位专家的高度评价。 全书一共8章,每个章节都由问题、算法、案例三部分组成,具有系统性和实战性。 第1-2章讲解了信贷业务的基础知识以及常用的规则引擎、信用评估引擎的建模方法。 第3章以项目冷启动为背景,讲解了风控领域应用广泛的迁移学习方法。 第4-5章介绍了幸存者偏差与不均衡学习中所使用的无监督学习与半监督学习方法。 第6章阐述了无监督的异常识别算法,该算法常用于数据清洗与冷启动项目,是反欺诈引擎中常用的个体欺诈检测方法。 第7章分享了一
这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse*核心的部分 MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。 本书采用浅显易懂的语言 大量演示案例 大量示意图例的形式呈现,以求让读者在*短的时间内,以*舒服的方式,获得*核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。 本书在逻辑上分为三大部分: 第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HORAP三
本书是一本面向问题求解的计算机算法普及读物。笔者挑选了24个问题,有些属于计算机科学中的经典,有些则来自游戏等其他领域的场景,旨在提供一个不同于普通算法教科书的视野。在相关求解算法的介绍上大体遵循问题导入、算法思路、算法描述和算法分析的思路,从而使得对每一个问题和算法的讨论相对独立。全书可以任意顺序选读。 本书适合受过高中及其以上教育的读者,适合作为中学信息技术课程改革和大学计算机基础课的教学参考书,也有助于曾经学过计算机相关课程的读者加深关于算法的认识。
本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握22种高级数据结构、7种动态规划算法、5种动态规划优化技巧,以及5种网络流算法,并熟练应用各种算法解决实际问题。 本书总计8章。第1章讲解实用数据结构,包括并查集、优先队列;第2章讲解区间信息维护与查询,包括倍增、ST、RMQ、LCA、树状数组、线段树和分块;第3章讲解字符串处理,包括字典树、AC自动机和后缀数组;第4章讲解树上操作问题,包括点分治、边分治、树链剖分和动态树;第5章讲解各种平衡二叉树,包括Treap、伸展树和SBT;第6章讲解数据结构进阶,包括KD树、左偏树、跳跃表、树套树和可持久化数据结构;第7章讲解动态规划及其优化,包括背包问题、线性DP、区间DP、树形DP、数位DP、状态压缩DP、插头DP和动态规
本书较为系统地介绍最优化领域中比较成熟的基本理论与方法。基本理论包括最优化问题解的必要条件和充分条件以及各种算法的收敛性理论。介绍的算法有:无约束问题的最速下降法、Newton法、拟Newton法、共辄梯度法、信赖域算法和直接法;非线性方程组和最小二乘问题的Newton法和拟Newton法;约束问题的罚函数法、乘子法、可行方向法、序列二次规划算法和信赖域算法等。还介绍了线性规划的基本理论与单纯形算法以及求解二次规划的有效集法。并简单介绍了求解全局最优化问题的几种常用算法。 作为基本工具,本书在附录中简要介绍了求解线性方程组的常用直接法和选代法以及MATLAB初步知识。
本书主要关注如何构建高能效具有学习能力的脉冲型神经元网络硬件,并且提供建立具有学习能力的脉冲型神经元网络硬件协同设计、协同优化方法。完整地描述从高级算法到底层硬件实现的细节。本书同样涵盖了脉冲型神经元网络中的许多基础知识和关键点。 本书从对脉冲型神经元网络的概述开始,讨论基于速率的人工神经网络的应用和训练,介绍实现神经网络的多种方法,如通用处理器和专用硬件,数字加速器和模拟加速器。同时展示了一个为能适应神经网络动态编程而建立的高能效加速器,验证脉冲神经网络的基础概念和流行的学习算法,简介脉冲神经网络硬件。后面的章节为读者介绍三个实现前述章节学习算法的设计案例(两个基于传统CMOS工艺,一个基于新兴的纳米工艺)。本书的结尾对脉冲型神经元网络硬件进行总结与展望。
内 容 提 要 本书结合实际应用场景讲解数据结构和算法,涵盖常用、常考的数据结构和算法的原理讲解、代码实现和应用场景等。 本书分为11章。第1章介绍复杂度分析方法。第2章介绍数组、链表、栈和队列这些基础的线性表数据结构。第3章介绍递归编程技巧、8种经典排序、二分查找及二分查找的变体问题。第4章介绍哈希表、位图、哈希算法和布隆过滤器。第5章介绍树相关的数据结构,包括二叉树、二叉查找树、平衡二叉查找树、递归树和B 树。第6章介绍堆,以及堆的各种应用,包括堆排序、优先级队列、求Top K、求中位数和求百分位数。第7章介绍跳表、并查集、线段树和树状数组这些比较高级的数据结构。第8章介绍字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie树和AC自动机。第9章介绍图及相关算法,包括深度优先搜索、广度优先搜索、拓扑排序
本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。首先介绍了算法和数据结构的总体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第二章 介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第三章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式二叉堆和优先队列的应用。第四章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第五章 介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。第六章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算
2011 年,C++标准委员会发布了ISO C++ 标准的一个重要修订版,即C++11 ,揭开了C++发展的新篇章。目前,许多程序设计竞赛和相关考试都已经提供了支持C++11 程序运行的编译器。本书的代码完全采用C++11 的语法进行编写,并力求帮助读者养成一种良好的C++11 代码编写风格,在程序设计竞赛和相关考试中能够快速而准确地编写代码。 除了介绍C++11 新特性之外,本书还会详细介绍各类基础的数据结构和算法。本书的具体内容包括5 个部分:C++11 基础、C++11 标准库简介、算法基础、数据结构基础、C++标准库进阶。本书主要面向计算机专业零基础的学习者,特别适合作为学习C++语言、数据结构与算法的入门书籍,也可作为计算机专业研究生入学考试复试上机考试、各类算法考试和算法竞赛的辅导书籍。 (责任编辑邮箱:jinacmp@163.com)
本书围绕新基建的云计算、大数据及人工智能进行介绍,分为以下五个部分。 部分介绍大数据的概念与特点,以及典型的产业应用场景;第二部分介绍目前云计算中的一个重要的研究与应用领域 容器云,包含应用容器引擎Docker与容器编排工具Kubernetes;第三部分是大数据分析的基础,也是大数据分析技术的重点,包含Hadoop、HBase、Hive、Spark的环境搭建及开发流程;第四部分是机器学习相关算法的应用,包含scikit-learn、SparkML、TensorFlow工具的使用;第五部分,以实例介绍如何使用Spark机器学习库中的协同过滤算法,来实现一个基于Web的推荐系,以及介绍如何使用OpenCV与TensorFlow构建卷积神经网络来实现基于Web的人脸识别。 本书轻理论,重实践,适合有一定编程基础,且对云计算、大数据、机器学习、人工智能感兴趣,希望投身到新基建这一伟大事业的读者学习。同时
《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第2 卷,讲解半数值算法,分 *数 和 算术 两章。本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系。 本书适合从事计算机科学、计算数学等各方面工作的人员阅读,也适合高等院校相关专业的师生作为教学参考书,对于想深入理解计算机算法的读者,是一份必不可少的珍品。