本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C 语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的遍历和图的连通性;第7章讲解图的应用,包括短路径、小生成树、拓扑排序
本书是一本面向问题求解的计算机算法普及读物。笔者挑选了24个问题,有些属于计算机科学中的经典,有些则来自游戏等其他领域的场景,旨在提供一个不同于普通算法教科书的视野。在相关求解算法的介绍上大体遵循问题导入、算法思路、算法描述和算法分析的思路,从而使得对每一个问题和算法的讨论相对独立。全书可以任意顺序选读。 本书适合受过高中及其以上教育的读者,适合作为中学信息技术课程改革和大学计算机基础课的教学参考书,也有助于曾经学过计算机相关课程的读者加深关于算法的认识。
本书定位于夯实数学建模基础,采用主流编程方法和简洁代码实现常用的数学建模算法,以案例为导向,围绕数学建模知识体系展开。全书分5篇,共11章。前两章是数学建模基础篇,包括数学建模介绍、数学建模的一般流程(初等模型)、如何从算法到编程实现(层次分析法与自定义函数);接着按算法板块组织内容,包括微分方程模型篇(人口模型、传染病模型)、优化模型篇(规划模型、投资优化策略、优化模型进阶)、评价模型篇(经典评价模型、模糊理论)、预测模型篇(常规预测模型、时间序列分析)。本书有配套源码资源和电子课件。 本书可作为高等院校数学建模的入门教材,也可作为数学建模指导教师的参考资料,还可作为其他相关行业人员、科研人员使用数学模型解决实际问题的参考用书。
《因果推理:基础与学习算法》从概率统计的角度入手,分析了因果推理的假设,揭示这些假设所暗示的因果推理和学习的目的。本书分别论述了两个变量和多变量情况下的因果模型、学习因果模型及其与机器学习的关系,讨论了因果推理隐藏变量有关的问题、时间系列的因果分析。 《因果推理:基础与学习算法》可作为高等院校人工智能和计算机科学等相关专业高年级本科生和硕士研究生的教材,也可供研究机器学习、因果推理的技术人员参考。
本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握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和动态规
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了7个数据结构和26个基础算法的基本原理。第1章介绍了链表、数组、栈等7个数据结构;从第2章到第7章,分别介绍了和排序、查找、图论、安全、聚类等相关的26个基础算法,内容涉及冒泡排序、二分查找、广度优先搜索、哈希函数、迪菲 - 赫尔曼密钥交换、k-means 算法等。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,便于学习和记忆。将本书作为算法入门的*步,是非常不错的选择。
这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse*核心的部分 MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。 本书采用浅显易懂的语言 大量演示案例 大量示意图例的形式呈现,以求让读者在*短的时间内,以*舒服的方式,获得*核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。 本书在逻辑上分为三大部分: 第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HORAP三
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等算法,并想要学习更多有趣算法以提升编程技巧、拓展程序设计思路的程序员,以及对挑战算法问题感兴趣、爱好解谜的程序员阅读。
自动驾驶汽车、自然语言识别、内容推荐引擎的实现都离不开人工智能和机器学习算法。机器学习算法只有在解决具体问题时才能体现价值。本书以解决各种趣味问题为目标,教读者用Python、JavaScript、C 编写机器学习算法,内容深入浅出,兼具实用性与大局观。读者将学习编写遗传算法、启发式算法、爬山算法、模拟退火算法,运用蒙特 卡洛模拟、点格自动机、适应函数解决问题。本书尤其适合对人工智能和机器学习感兴趣的程序员进阶学习。
内容介绍 本书基于Python全面介绍了机器学习在信贷风控领域的应用与实践,从原理、算法与工程实践3个维度全面展开,包含21种实用算法和26个解决方案。 作者是智能风控、人工智能和算法领域的专家,曾在多家知名金融科技企业从事风控算法方面的研究与实践,经验丰富,本书得到了风控领域9位专家的高度评价。 全书一共8章,每个章节都由问题、算法、案例三部分组成,具有系统性和实战性。 第1-2章讲解了信贷业务的基础知识以及常用的规则引擎、信用评估引擎的建模方法。 第3章以项目冷启动为背景,讲解了风控领域应用广泛的迁移学习方法。 第4-5章介绍了幸存者偏差与不均衡学习中所使用的无监督学习与半监督学习方法。 第6章阐述了无监督的异常识别算法,该算法常用于数据清洗与冷启动项目,是反欺诈引擎中常用的个体欺诈检测方法。 第7章分享了一
本书收集了历年来国家统考和985、211等重点高校和研究院、所的350多套硕士研究生入学“(算法与)数据结构”考试试卷的2100多道试题。作者按照数据结构课程的知识点对这些题目进行分类。在回顾知识点的基础上,对每一类题目进行分析、归纳答题思路,并给出了参考答案。本书收录的题目具有典型性,充分理解这些题目有助于学生更好地掌握数据结构课程的核心内容,以及应用知识解决实际问题的方法。 本书可以作为高等院校计算机及相关专业学习数据结构课程的参考书,对于报考相关专业硕士研究生的考生也极具价值,同时也适用于讲授该课程的教师以及自修该课程的其他人员。
本书是《漫画算法:小灰的算法之旅》的续作,通过主人公小灰的心路历程,用漫画的形式讲述了多个数据结构、算法及复杂多变的算法面试题目。 第1章介绍了几种典型的排序算法,包括选择排序、插入排序、希尔排序、归并排序、基数排序。 第2章介绍了"树 结构的高级应用,包括二叉查找树、AVL树、红黑树、B树和B 树。 第3章介绍了"图 结构的概念,以及深度优先遍历、广度遍历、单源Z短路径、多源Z短路径算法。 第4章介绍了"查找 相关的算法和数据结构,包括二分查找算法、RK算法,KMP算法,以及"跳表 这种用于高效查找的数据结构。 第5章介绍了多种职场上流行的算法面试题目及详细的解题思路。例如螺旋遍历二维数组、寻找数组中第k大元素、求股票交易的Z大收益等等。
本书系统论述了基于MATLAB的微分方程求解方法,全面介绍了微分方程的解析求解与数值求解方法,包括微分方程的初值问题、延迟微分方程与分数阶微分方程问题,并介绍了基于框图的初值问题求解方法。此外,本书还介绍了微分方程边值问题与偏微分方程问题的数值求解方法。本书可以作为一般读者系统学习微分方程的教辅教材,从另一个角度认识微分方程。
本书是以大学生程序设计竞赛为基础、面向已有C1 入门知识且想要进一步学习的读者编写的 C 进阶训练指南。全书分为回湖法、图、动态规划、 网格等部分。回湖法部分介绍单向搜索和双向搜索,给出高级搜索的技巧;图部分分为图遍历和图算法章节,先介绍图遍历的方法,再以小生成树问题、单源短路径问题、多源短路径问题、网络流问题中的经典算法为例,介绍了十余种算法的原理和相关应用;动态规划部分逐一介绍了集合型、区间型、图论型、概率型、非典型动态规划,并介绍了空间、时间上的优化技巧,以及相应的备忘、松弛技巧;网格部分作为独立的专题汇集了与网格相关的各种习题 本书适合有意参加大学生程序设计竞赛的本科生、研究生阅读,对有意参加信息学奥林匹克竞赛的中学生具有参考价值。
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)
本书主要关注如何构建高能效具有学习能力的脉冲型神经元网络硬件,并且提供建立具有学习能力的脉冲型神经元网络硬件协同设计、协同优化方法。完整地描述从高级算法到底层硬件实现的细节。本书同样涵盖了脉冲型神经元网络中的许多基础知识和关键点。 本书从对脉冲型神经元网络的概述开始,讨论基于速率的人工神经网络的应用和训练,介绍实现神经网络的多种方法,如通用处理器和专用硬件,数字加速器和模拟加速器。同时展示了一个为能适应神经网络动态编程而建立的高能效加速器,验证脉冲神经网络的基础概念和流行的学习算法,简介脉冲神经网络硬件。后面的章节为读者介绍三个实现前述章节学习算法的设计案例(两个基于传统CMOS工艺,一个基于新兴的纳米工艺)。本书的结尾对脉冲型神经元网络硬件进行总结与展望。
这是一本图文并茂的力扣(LeetCode)题解书,旨在让广大读者理解数据结构和算法的知识,掌握解决各类经典题目的基本技能,陪伴读者攻克算法难关。 本书通过算法题解的形式讲解了基本数据结构和算法知识,包括分治、贪心、回溯和动态规划等算法思想,二分查找、深度优先遍历和广度优先遍历、双指针、滑动窗口、位运算、并查集等解题思路和技巧,以及通用解题 套路 和解题模板等内容,引导读者了解并掌握解决算法题目的方式、方法,旨在循序渐进地提高读者应对算法题目的能力。 本书适合数据结构和算法知识的学习者,希望学习如何解算法题或正在刷题的计算机行业从业者,也可作为大、中专院校相关专业的辅导参考书。
在计算机视觉处理中,特征指的是能够解决某种特定任务的信息。图像局部特征在目标识别、目标跟踪、目标匹配、三维重建、图像检索等应用中发挥着重要的作用。它是近20年来在计算机视觉领域中研究的热点问题之一。本书以OpenCV 2.4.9为研究工具,对其实现的所有新的特征检测和描述算法 Kitchen-Rosenfeld、Canny、Harris、Shi-Tomasi、FAST、MSER、MSCR、SIFT、SURF、BRISK、BRIEF、ORB、FREAK、CenSurE、SimpleBlob等,不仅详细分析了它们的原理和实现方法,还进行了详细的源码解析,并且给出了具体的程序实现范例,充分体现了理论与实践相结合的特点。
集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功。全书分为三部分。*部分主要介绍集成学习的背景知识;第二部分主要介绍集成学习方法的核心知识,包括Boosting、Bagging、Random Forests等经典算法,平均、投票和Stacking等模型和方法、相关理论分析工作,以及多样性度量和增强方面的进展。第三部分介绍集成学习方法的进阶议题,包括集成修剪、聚类集成和集成学习方法在半监督学习、主动学习、代价敏感学习、类别不平衡学习,以及提升可理解性方面的进展。此外,本书还在每章中的 拓展阅读 部分提供了相关的进阶内容。本书适合对集成学习方法感兴趣的研究人员、学生和实践者阅读。
本书内容包括经典的算法设计技术,主要介绍数据结构和标准模板库、递归与分治策略、动态规划、贪心算法、回溯算法、分支限界算法、图的搜索算法、图论、数论和组合数学问题。本书包括大量的问题实例,并在北京大学、浙江大学和杭州电子科技大学在线题库中精选原题,详细地分析解题的方法,深入浅出地讲解用到的算法,章后的上机练习题也选自在线题库中的典型题目,供读者练习,以巩固所学算法。本书内容基本上涵盖了目前大学生程序设计竞赛所要掌握的算法。 本书结构清晰、内容丰富,适合作为计算机科学与技术、软件工程以及相关学科算法课程的教材或参考书,特别适合有志于参加信息学竞赛和ACM大学生程序设计竞赛的读者学习和训练。
演化学习利用演化算法求解机器学习中的复杂优化问题, 在实践中取得了许多成功, 但因其缺少坚实的理论基础, 在很长时期内未获得机器学习社区的广泛接受. 本书主要内容为三位作者在这个方向上过去二十年中主要工作的总结. 全书共18 章, 分为四个部分: 部分(第1~2 章) 简要介绍演化学习和一些关于理论研究的预备知识; 第二部分(第3~6章) 介绍用于分析运行时间复杂度和逼近能力这两个演化学习的基本理论性质的通用工具; 第三部分(第7~12 章) 介绍演化学习关键因素对算法性能影响的一系列理论结果, 包括交叉算子、解的表示、非精确适应度评估、种群的影响等; 第四部分(第13~18 章) 介绍一系列基于理论结果启发的具有一定理论保障的演化学习算法. 本书适合对演化学习感兴趣的研究人员、学生和实践者阅读. 书中第二部分内容或可为有兴趣进一步探索演化学习理
本书力求简明扼要地阐述云计算的基本概念,让非IT专业人士也能轻松看懂这一现在人人都能接触(以后程度会更深)的事物?D?D云计算。本书遵循一条由感性到理性、由浅入深的主线展开:首先采用情景描述,让外行的人对云计算也能产生感性认识;其次从计算机的基本知识开始逐步引出云计算的概念,使人产生理性认识;接着列举一系列生活中的典型云应用例子,让人们明白云计算给生活带来的确切好处;*后采用OpenStack搭建单节点和三节点方案让人们感受组建云计算中心的过程,以达到抛砖引玉之功效。本书可作为高等院校学生教材。