本书是一本面向问题求解的计算机算法普及读物。笔者挑选了24个问题,有些属于计算机科学中的经典,有些则来自游戏等其他领域的场景,旨在提供一个不同于普通算法教科书的视野。在相关求解算法的介绍上大体遵循问题导入、算法思路、算法描述和算法分析的思路,从而使得对每一个问题和算法的讨论相对独立。全书可以任意顺序选读。 本书适合受过高中及其以上教育的读者,适合作为中学信息技术课程改革和大学计算机基础课的教学参考书,也有助于曾经学过计算机相关课程的读者加深关于算法的认识。
《因果推理:基础与学习算法》从概率统计的角度入手,分析了因果推理的假设,揭示这些假设所暗示的因果推理和学习的目的。本书分别论述了两个变量和多变量情况下的因果模型、学习因果模型及其与机器学习的关系,讨论了因果推理隐藏变量有关的问题、时间系列的因果分析。 《因果推理:基础与学习算法》可作为高等院校人工智能和计算机科学等相关专业高年级本科生和硕士研究生的教材,也可供研究机器学习、因果推理的技术人员参考。
本书定位于夯实数学建模基础,采用主流编程方法和简洁代码实现常用的数学建模算法,以案例为导向,围绕数学建模知识体系展开。全书分5篇,共11章。前两章是数学建模基础篇,包括数学建模介绍、数学建模的一般流程(初等模型)、如何从算法到编程实现(层次分析法与自定义函数);接着按算法板块组织内容,包括微分方程模型篇(人口模型、传染病模型)、优化模型篇(规划模型、投资优化策略、优化模型进阶)、评价模型篇(经典评价模型、模糊理论)、预测模型篇(常规预测模型、时间序列分析)。本书有配套源码资源和电子课件。 本书可作为高等院校数学建模的入门教材,也可作为数学建模指导教师的参考资料,还可作为其他相关行业人员、科研人员使用数学模型解决实际问题的参考用书。
作者莱维汀基于丰富的教学经验,开发了一套全 新的算法分类方法。该分类法站在通用问题求解策略 的高度,对现有大多数算法准确分类,从而引领读者 沿着一条清晰、一致、连贯的思路来探索算法设计与 分析这一迷人领域。本书作为第3版,相对前版调整 了多个章节的内容和顺序,同时增加了一些算法,并 扩展了算法的应用,使得具体算法和通用算法设计技 术的对应更加清晰有序;各章累计增加了70道习题, 其中包括一些有趣的谜题和面试问题。 《算法设计与分析基础(第3版)》十分适合用作 算法设计和分析的基础教材,也适合任何有兴趣探究 算法奥秘的读者使用,只要读者具备数据结构和离散 数学的知识即可。
这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse*核心的部分 MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。 本书采用浅显易懂的语言 大量演示案例 大量示意图例的形式呈现,以求让读者在*短的时间内,以*舒服的方式,获得*核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。 本书在逻辑上分为三大部分: 第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HORAP三
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等算法,并想要学习更多有趣算法以提升编程技巧、拓展程序设计思路的程序员,以及对挑战算法问题感兴趣、爱好解谜的程序员阅读。
本书全面、系统地总结了在准备程序员面试过程中的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构,然后深入讨论二分查找、排序、回溯法、动态规划和图搜索等算法。除了介绍相应的基础知识,每章还通过大量的高频面试题系统地总结了各种数据结构与算法的应用场景及解题技巧。本书适合所有正在准备面试的程序员阅读。无论是计算机相关专业的应届毕业生还是初入职场的程序员,本书总结的数据结构和算法的基础知识及解题经验都不仅可以帮助他们提高准备面试的效率,还可以增加他们通过面试的成功率。
本书收集了历年来国家统考和985、211等重点高校和研究院、所的350多套硕士研究生入学“(算法与)数据结构”考试试卷的2100多道试题。作者按照数据结构课程的知识点对这些题目进行分类。在回顾知识点的基础上,对每一类题目进行分析、归纳答题思路,并给出了参考答案。本书收录的题目具有典型性,充分理解这些题目有助于学生更好地掌握数据结构课程的核心内容,以及应用知识解决实际问题的方法。 本书可以作为高等院校计算机及相关专业学习数据结构课程的参考书,对于报考相关专业硕士研究生的考生也极具价值,同时也适用于讲授该课程的教师以及自修该课程的其他人员。
本书是《漫画算法:小灰的算法之旅》的续作,通过主人公小灰的心路历程,用漫画的形式讲述了多个数据结构、算法及复杂多变的算法面试题目。 第1章介绍了几种典型的排序算法,包括选择排序、插入排序、希尔排序、归并排序、基数排序。 第2章介绍了"树 结构的高级应用,包括二叉查找树、AVL树、红黑树、B树和B 树。 第3章介绍了"图 结构的概念,以及深度优先遍历、广度遍历、单源Z短路径、多源Z短路径算法。 第4章介绍了"查找 相关的算法和数据结构,包括二分查找算法、RK算法,KMP算法,以及"跳表 这种用于高效查找的数据结构。 第5章介绍了多种职场上流行的算法面试题目及详细的解题思路。例如螺旋遍历二维数组、寻找数组中第k大元素、求股票交易的Z大收益等等。
本书系统地介绍了X86、龙芯、飞腾架构下的UEFI应用和驱动开发,系统调试专家、《软件调试》作者张银奎,以及UEFI专家、《UEFI原理与编程》作者戴正华联袂推荐。 本书以项目开发为导向,采取 近实战,多实例 的方式,细致深入地介绍了UEFI应用和驱动开发相关的知识。 第1~3章,介绍了UEFI系统的组成、启动过程,在各种操作系统中搭建和调试开发环境的方法,以及UEFI应用和驱动开发的基本方法。 第4~10章以实际的开发实践为索引,介绍了图形图像开发、汉字显示、GUI构建、访问PCI/PCIE设备、访问SMBus设备、访问串口设备、实现USB通信和网络通信等内容。这部分以贴近实际开发的方式来构建实例,并深入剖析相关硬件协议及其在UEFI上的实现。 第11章和第12章,讲解了龙芯和飞腾架构,以及如何在这两类国产处理器上进行UEFI软件开发。
本书从不同角度来介绍企业级推荐系统构建的理论、方法、策略。首先让读者对推荐系统有一个基础的认知,然后针对将要用到的算法知识进行了详细讲解,接着从用户维度、标的物维度、算法维度、平台方维度等角度介绍了评估方法,再进行了工程实现,通过案例对工程实现的核心模块、架构设计、技术选型进行分解。紧接其后从运营角度讲解了推荐产品的应用场景及设计推荐产品的基本原则,并进行了实践,通过实践案例分析,进一步强化前面介绍的各个知识点,让读者有一个系统认识。
本书系统论述了基于MATLAB的微分方程求解方法,全面介绍了微分方程的解析求解与数值求解方法,包括微分方程的初值问题、延迟微分方程与分数阶微分方程问题,并介绍了基于框图的初值问题求解方法。此外,本书还介绍了微分方程边值问题与偏微分方程问题的数值求解方法。本书可以作为一般读者系统学习微分方程的教辅教材,从另一个角度认识微分方程。
《集成学习入门与实战:原理、算法与应用》通过6章内容全面地解读了集成学习的基础知识、集成学习技术、集成学习库和实践应用。其中集成学习技术包括采样、Bagging、投票集成、Boosting、AdaBoost、梯度提升、XGBoost、Stacking、随机森林、决策树等,从混合训练数据到混合模型,再到混合组合,逻辑严谨、逐步讲解;同时也对ML-集成学习、Dask、LightGBM、AdaNet等集成学习库相关技术进行了详细解读;后通过相关实践对集成学习进行综合性应用。本书配有逻辑框图、关键代码及代码分析,使读者在阅读中能够及时掌握算法含义和对应代码。 本书适合集成学习的初学者和机器学习方向的从业者和技术人员阅读学习,也适合开设机器学习等算法课程的高等院校师生使用。
本书是以大学生程序设计竞赛为基础、面向已有C1 入门知识且想要进一步学习的读者编写的 C 进阶训练指南。全书分为回湖法、图、动态规划、 网格等部分。回湖法部分介绍单向搜索和双向搜索,给出高级搜索的技巧;图部分分为图遍历和图算法章节,先介绍图遍历的方法,再以小生成树问题、单源短路径问题、多源短路径问题、网络流问题中的经典算法为例,介绍了十余种算法的原理和相关应用;动态规划部分逐一介绍了集合型、区间型、图论型、概率型、非典型动态规划,并介绍了空间、时间上的优化技巧,以及相应的备忘、松弛技巧;网格部分作为独立的专题汇集了与网格相关的各种习题 本书适合有意参加大学生程序设计竞赛的本科生、研究生阅读,对有意参加信息学奥林匹克竞赛的中学生具有参考价值。
Python是一种面向对象、解释型计算机程序设计语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算以及推荐系统构建等。本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。本书概念和知识点讲解清晰,语言简洁。本书适合对Python算法感兴趣的初中级用户阅读和自学,也适合高等院校的计算机系学生作为参考教材来阅读。
◆图书简介◆ 本书是为了满足广大应聘 IT岗位的毕业生及社招人士复习所学知识,提高职场竞争力而编写的。书中涵盖了C/C 程序员面试所需掌握的全部知识点,内容涉及C/C 基础、面向对象、字符串、数据结构、算法设计、操作系统、数据库、计算机网络以及综合能力测试题等面试中经常出现的知识点。与此同时,本书还包含了相当篇幅的面试技巧介绍,并精心搜集了面试官常问的20个问题和外企常考的20道英文面试题,帮助求职者在面试过程中展现自身技术硬实力的同时更能充分发挥自身素质和个人魅力等软实力。 本书不只是一部 习题集 ,在每节中都对本节所涉及的知识点进行了完整的梳理,这样不仅可以帮读者夯实专业基础,从根本上掌握程序员笔试面试的要领,也为未来的工作打下了坚实的基础。 本书采用笔记体裁方式编写,核心内容用红色
本书围绕黎曼流形优化发展过程中的理论前沿与热点问题,比较全面和系统地介绍了黎曼流形优化的基本原理和应用实践的最新成果。全书共7章,分为理论与应用两个部分。理论部分包括黎曼流形内涵、常用黎曼流形及其几何结构、收缩、低秩流形收缩、黎曼最速下降法、黎曼牛顿法、黎曼共轭梯度法、黎曼信赖域法和黎曼拟牛顿法等内容。应用部分包括鉴别性结构化字典学习、多源多波段图像融合、特征值问题求解(单位球面约束的Rayleigh商最小化、Stiefel流形上的Brockett函数最小化)等。本书内容新颖、体系完整,具有系统性、实用性、先进性和前瞻性。
本书主要关注如何构建高能效具有学习能力的脉冲型神经元网络硬件,并且提供建立具有学习能力的脉冲型神经元网络硬件协同设计、协同优化方法。完整地描述从高级算法到底层硬件实现的细节。本书同样涵盖了脉冲型神经元网络中的许多基础知识和关键点。 本书从对脉冲型神经元网络的概述开始,讨论基于速率的人工神经网络的应用和训练,介绍实现神经网络的多种方法,如通用处理器和专用硬件,数字加速器和模拟加速器。同时展示了一个为能适应神经网络动态编程而建立的高能效加速器,验证脉冲神经网络的基础概念和流行的学习算法,简介脉冲神经网络硬件。后面的章节为读者介绍三个实现前述章节学习算法的设计案例(两个基于传统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大学生程序设计竞赛的读者学习和训练。