本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
《算法竞赛入门经典(2版)》是一本算法竞赛的入门与提高教材,把C/C 语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C 与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了各种数据结构和算法的基本原理。第1章介绍了链表、数组、栈等数据结构;从第2章到第8章,分别介绍了和排序、查找、图、安全、聚类、数据压缩等相关算法,较为全面地介绍常见算法与数据结构知识。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,易于理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
本书通过趣味游戏编程项目讲解算法,提升读者学习算法的兴趣,降低读者学习算法的难度,增强读者将算法应用于编程实践的能力。 本书共 14 章,通过猜数字、飞翔的小鸟、得分排行榜、汉诺塔、八皇后、消灭星星、贪吃蛇、走迷宫、连连看、吃豆人、滑动拼图、井字棋、垒积木、十步万度等游戏,讲解顺序查找算法、二分查找算法,图形库 EasyX,插入排序算法、冒泡排序算法、选择排序算法、快速排序算法,递归算法,暴力搜索算法、回溯算法,FloodFill 算法,常见的数据结构(数组、链表、队列、栈、图、树)、标准模板库(STL),十字分割算法、图的广度优先搜索算法和深度优先搜索算法,加权图上的迪杰斯特拉算法、贪婪优先搜索算法、A*算法,状态空间上的搜索算法,博弈树的极大极小值搜索算法、 - 剪枝搜索算法,动态规划算法,遗传算法。 本书
随着机器视觉技术的飞速发展,大量需要使用机器视觉代替人工检测的需求应运而生。Halcon在开发机器视觉项目中表现出的高效性和稳定性,使其应用范围非常广泛。本书将针对机器视觉的原理和算法,以及如何应用算法解决问题进行探讨和说明,并利用Halcon对各种机器视觉算法进行举例,让读者全面、深入、透彻地理解Halcon机器视觉开发过程中的各种常用算法的原理及其应用方法,提高实际开发水平和项目实战能力。同时,也为机器视觉项目的管理者提供项目管理和技术参考。 《Halcon机器视觉算法原理与编程实战》适合需要全面学习机器视觉算法的初学者,希望掌握Halcon进行机器视觉项目开发的程序员,需要了解机器视觉项目开发方法的工业客户、机器视觉软件开发项目经理、专业培训机构的学员,以及对机器视觉算法兴趣浓厚的人员阅读。
软件质量,不但依赖架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。 本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称 启示 ),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。 本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一 家 之言,然诚有可资借鉴的价值。
《深入浅出算法竞赛(图解版)》是为帮助读者理解基本的算法思想和编写高效的解决问题的程序而编写的。全书共6章,第1章概述了算法与算法竞赛的知识;第2章介绍了计算机程序解决问题的基本方法 穷举算法与贪心算法;第3章讲解了随机算法,如何利用概率与期望优化算法的效率;第4章讲解了AI的思维模式 搜索算法,如何用更灵活的方式遍历每一种可行解;第5章讲解了动态规划,如何通过状态间的转移,巧妙地规划解;第6章讲解了将大事化小、小事化了的分治算法,如何将问题拆分为易于解决的小问题。 本书配备了大量的算法竞赛试题,使用算法竞赛常用的C 语言编写。同时,本书不拘泥于算法竞赛,在第2 ~ 6章的后每一节给出一段阅读材料,介绍算法有趣的应用,帮助读者拓宽思维。 本书的讲解避开了繁琐枯燥的理论,采用浅显易懂的语言和大量生动
本书是蓝桥杯大赛软件类入门教程,详细讲解了蓝桥杯大赛软件类入门阶段的核心知识点,也是大赛必考和常考的知识点,包括数据结构、基本算法、搜索、数学、动态规划、图论等。 本书用大量的大赛真题作为例题,帮助读者巩固知识点的应用; 代码简洁精要,可作为比赛模板; 文字简洁明快,实现了较好的易读性。 本书适合正在学编程语言或刚学过编程语言,算法和数据结构零基础的算法竞赛初学者,帮助读者学习的知识点、建立计算思维、提高建模能力和编码能力; 本书也可用于其他算法竞赛(全国青少年信息学奥林匹克竞赛(NOI)、国际大学生程序设计竞赛(ICPC)、中国大学生程序设计竞赛(CCPC)、中国高校计算机大赛 团体程序设计天梯赛等)的入门学习。
算法是个有趣的东西 针对某个问题设计算法的时候,不会的人感觉像 大海捞针 ,而会的人则感觉像 一苇渡江 。高手的头脑里都有一张 算法地图 ,算法之间不是孤立的,而是彼此连通的。算法之间的内在联系有很多,但挖掘到根源上,就是递推与递归两种思想。本书从深度解析递推和递归这两个基本算法思想开始,用它们贯穿起了《算法导论》中的几十个经典算法,包括排序、查找、回溯、贪心、分治、动态规划、图算法等。 本书成稿自作者的教案,秉承了作者一贯的风趣幽默又不失严谨的写作风格,同时融入了学习心理学和认知科学的实践原理。作者的诸多学生在参加完以本书内容为蓝本的集训后进入了微软、脸书、亚马逊、领英、甲骨文等公司,所以本书是经过千锤百炼的一线教学成果。本书适合于所有想通过学习算法来精进自己编程能力的读者。为了倾
《因果推理:基础与学习算法》从概率统计的角度入手,分析了因果推理的假设,揭示这些假设所暗示的因果推理和学习的目的。本书分别论述了两个变量和多变量情况下的因果模型、学习因果模型及其与机器学习的关系,讨论了因果推理隐藏变量有关的问题、时间系列的因果分析。 《因果推理:基础与学习算法》可作为高等院校人工智能和计算机科学等相关专业高年级本科生和硕士研究生的教材,也可供研究机器学习、因果推理的技术人员参考。
《智能优化算法与MATLAB编程实践》介绍了国内外新研发的10种智能优化算法,对每种算法的灵感来源、实现过程、函数编程、案例应用都进行了细致描述并给出详细的MATLAB代码,使读者快速掌握智能优化算法的学习和应用方法。 全书共分为12章,前10章分别介绍10种智能优化算法的原理、MATLAB实现、具体函数寻优求解过程和应用案例;第11章列举了23种衡量智能优化算法性能的常见测试函数,并给出MATLAB代码;第12章重点介绍智能优化算法的评价指标体系,选取部分测试函数和文中算法进行测试与分析,并给出完整MATLAB代码,供读者参考。 本书的主要特点为算法新颖,要素齐全,案例丰富,可移植性和实战性强。理论研究和工程技术人员可通过本书快速理解、掌握书中算法,节省大量时间,感兴趣的读者可以在此基础上进行深入研究。 本书可作为本科生、研究生和教
"《算法不难 》结合300多幅示意图与70个算法示例(Python实现)直观地讲述36种常用经典算法的相关知识和9种经典算法思想,帮助读者深入理解相关算法的原理与设计思想,为后续学习高级算法夯实基础。 《算法不难 》分为5章。第1章介绍算法的基本概念以及如何正确使用和设计算法等相关知识;第2章介绍排序算法的基本思想以及冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序和基数排序十大排序算法;第3章首先介绍图算法的基础知识,然后介绍路径搜索、广度优先搜索、深度优先搜索、最小生成树、单源最短路径、最大流等常用图算法。第4章介绍字符串处理算法的相关知识,涵盖字符串基础知识以及字符串判断、字符串匹配、字符串排序和字符串压缩等。第5章介绍枚举、递推、递归、分治、贪心、动态规划、迭代
本书定位于夯实数学建模基础,采用主流编程方法和简洁代码实现常用的数学建模算法,以案例为导向,围绕数学建模知识体系展开。全书分5篇,共11章。前两章是数学建模基础篇,包括数学建模介绍、数学建模的一般流程(初等模型)、如何从算法到编程实现(层次分析法与自定义函数);接着按算法板块组织内容,包括微分方程模型篇(人口模型、传染病模型)、优化模型篇(规划模型、投资优化策略、优化模型进阶)、评价模型篇(经典评价模型、模糊理论)、预测模型篇(常规预测模型、时间序列分析)。本书有配套源码资源和电子课件。 本书可作为高等院校数学建模的入门教材,也可作为数学建模指导教师的参考资料,还可作为其他相关行业人员、科研人员使用数学模型解决实际问题的参考用书。
智能优化算法在解决大空间、非线性、全局寻优、组合优化等复杂问题方面具有独特的优势,因而得到了国内外学者的广泛关注,并在信号处理、图像处理、生产调度、任务分配、模式识别、自动控制和机械设计等众多领域得到了成功应用。本书介绍了8种经典智能优化算法 遗传算法、差分进化算法、免疫算法、蚁群算法、粒子群算法、模拟退火算法、禁忌搜索算法和神经网络算法的来源、原理、算法流程和关键参数说明,并给出了具体的MATLAB仿真实例。对于要用这些算法工具来解决具体问题的理论研究和工程技术人员,通过本书可以节省大量查询资料和编写程序的时间,通过仿真实例可以更深入地理解、快速地掌握这些算法。
《算法竞赛入门经典 算法实现》精选《算法竞赛入门经典(第2版)》和《算法竞赛入门经典 训练指南(升级版)》中的经典题目,按算法要点和竞赛考点重新进行分拆和归类,提供了240余套简洁、高效、规范的完整代码模板。此外,也加入了一些虽然未在两本书中出现,但实际上对初学者入门非常重要的题目代码。借助于这些模板,读者在练习环节和比赛时,可大大减轻因来回琢磨代码实现细节而导致调试时间大幅增加的压力。 《算法竞赛入门经典 算法实现》共分7章,第1章介绍C 编程基础与STL,第2章介绍算法设计与优化,第3章介绍数学相关算法,第4章介绍数据结构,第5章介绍字符串,第6章介绍计算几何,第7章介绍图论。 《算法竞赛入门经典 算法实现》题目覆盖了ACM/ICPC/NOI/NOIP等算法竞赛的大多数经典题型和细分算法要点,内容全面,信息量
自然语言处理是一门融语言学、计算机科学、数学于一体的学科,比较复杂,学习门槛高,但本书巧妙地避开了晦涩难懂的数学公式和证明,即便没有数学基础,也能零基础入门。 本书专注于中文的自然语言处理,以Python及其相关框架为工具,以实战为导向,详细讲解了自然语言处理的各种核心技术、方法论和经典算法。三位作者在人工智能、大数据和算法领域有丰富的积累和经验,是*、前明略数据和七牛云的资深专家。同时,本书也得到了*达摩院高级算法专家、七牛云AI实验室Leader等专家的高度评价和鼎力推荐。 全书一共11章,在逻辑上分为2个部分: *部分(第1、2、11章) 主要介绍了自然语言处理所需要了解的基础知识、前置技术、Python科学包、正则表达式以及Solr检索等。 第二部分(第5-10章) 第3~5章讲解了词法分析相关的技术,包括中文分词技术
本书介绍在嵌入式系统中的机器学习算法优化原理、设计方法及其实现技术。内容涵盖通用嵌入式优化技术,包括基于SIMD指令集的优化、内存访问模式优化、参数量化等。并在此基础上介绍了信号处理层面的优化,包括AI推理算法及基于神经网络的AI算法训练-推理联合的优化理论与方法。其中信号处理层面优化包括了基于线性代数的快速近似算法、基于多项式的快速卷积构造技术、基于数据二进制结构的快速乘法算法等;在AI推理层面,介绍了机器学习推理模型共性结构、运算图中各个算子的计算优化途径;另外对基于神经网络AI算法,阐述了如何将推理阶段的运算量约束以及底层数据量化约束加入训练代价函数,从算法训练端减少运算量以提升AI嵌入式系统的运行效率;此外本书还通过多个自动搜索优化参数并生成C代码的例子介绍了通用的嵌入式环境下机器学习
本书是一本综合讲述数据结构及其算法的入门书,内容浅显易懂、逻辑严谨,范例丰富、可操作性强,力求适用性兼顾教师教学和学生自学。 全书从基本的数据结构概念开始讲解,包括数组结构、队列、堆栈、树结构、排序、查找等;接着介绍常用的算法,包括分治法、递归法、贪心法、动态规划法、迭代法、枚举法、回溯法等,每个经典的算法都提供了Java程序设计语言编写的完整范例代码,并辅以丰富的图示解析。*后在每章末尾都安排了大量的习题,这些习题包含各类考试的例题,并在附录中提供了解答,可供读者自测学习效果。 本书针对具有一定编程能力又想提高编程 深度 的非信息专业类人员,是一本数据结构和算法普及型的教科书或自学参考书。
作者莱维汀基于丰富的教学经验,开发了一套全 新的算法分类方法。该分类法站在通用问题求解策略 的高度,对现有大多数算法准确分类,从而引领读者 沿着一条清晰、一致、连贯的思路来探索算法设计与 分析这一迷人领域。本书作为第3版,相对前版调整 了多个章节的内容和顺序,同时增加了一些算法,并 扩展了算法的应用,使得具体算法和通用算法设计技 术的对应更加清晰有序;各章累计增加了70道习题, 其中包括一些有趣的谜题和面试问题。 《算法设计与分析基础(第3版)》十分适合用作 算法设计和分析的基础教材,也适合任何有兴趣探究 算法奥秘的读者使用,只要读者具备数据结构和离散 数学的知识即可。
本书主要关注如何构建高能效具有学习能力的脉冲型神经元网络硬件,并且提供建立具有学习能力的脉冲型神经元网络硬件协同设计、协同优化方法。完整地描述从高级算法到底层硬件实现的细节。本书同样涵盖了脉冲型神经元网络中的许多基础知识和关键点。 本书从对脉冲型神经元网络的概述开始,讨论基于速率的人工神经网络的应用和训练,介绍实现神经网络的多种方法,如通用处理器和专用硬件,数字加速器和模拟加速器。同时展示了一个为能适应神经网络动态编程而建立的高能效加速器,验证脉冲神经网络的基础概念和流行的学习算法,简介脉冲神经网络硬件。后面的章节为读者介绍三个实现前述章节学习算法的设计案例(两个基于传统CMOS工艺,一个基于新兴的纳米工艺)。本书的结尾对脉冲型神经元网络硬件进行总结与展望。
这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse*核心的部分 MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。 本书采用浅显易懂的语言 大量演示案例 大量示意图例的形式呈现,以求让读者在*短的时间内,以*舒服的方式,获得*核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。 本书在逻辑上分为三大部分: 第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HORAP三