本书示例丰富,图文并茂,以简明易懂的方式阐释了算法,旨在帮助程序员在日常项目中更好地利用算法为软件开发助力。前三章介绍算法基础,包括二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如何时采用分而治之、贪婪算法或动态规划,哈希表的应用,图和树算法,K最近邻算法等。这一版将示例代码更新到了Python 3,并新增了两章专门讨论树,加之诸多修订,使得内容更加完善。
《算法竞赛入门经典(2版)》是一本算法竞赛的入门与提高教材,把C/C 语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C 与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。 《算法竞赛入门经典(2版)》可作为全国青少年信息学奥林匹克联赛(NOIP)复赛教材、全国青少年信息学奥林匹克竞赛(NOI)和ACM国际大学生程序
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了各种数据结构和算法的基本原理。第1章介绍了链表、数组、栈等数据结构;从第2章到第8章,分别介绍了和排序、查找、图、安全、聚类、数据压缩等相关算法,较为全面地介绍常见算法与数据结构知识。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,易于理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
这是一本关于 高级/进阶 算法和数据结构的图书,主要介绍了用于Web应用程序、系统编程和数据处理领域的各种算法,旨在让读者了解如何用这些算法应对各种棘手的编码挑战,以及如何将其应用于具体问题,以应对新技术浪潮下的 棘手 问题。 本书对一些广为人知的基本算法进行了扩展,还介绍了用于改善优先队列、有效缓存、对数据进行集群等的技术,以期读者能针对不同编程问题选出更好的解决方案。书中示例大多辅以图解,并以不囿于特定语言的伪代码以及多种语言的代码样本加以闸释。 学完本书,读者可以了解高级算法和数据结构的相关内容,并能运用这些知识让代码具备更优性能,甚至能够独立设计数据结构,应对需要自定义解决方案的情况。 本书可作为高等院校计算机相关专业本科高年级学生以及研究生的学习用书,也可供从事与算法相关工作
《深入浅出算法竞赛(图解版)》是为帮助读者理解基本的算法思想和编写高效的解决问题的程序而编写的。全书共6章,第1章概述了算法与算法竞赛的知识;第2章介绍了计算机程序解决问题的基本方法 穷举算法与贪心算法;第3章讲解了随机算法,如何利用概率与期望优化算法的效率;第4章讲解了AI的思维模式 搜索算法,如何用更灵活的方式遍历每一种可行解;第5章讲解了动态规划,如何通过状态间的转移,巧妙地规划解;第6章讲解了将大事化小、小事化了的分治算法,如何将问题拆分为易于解决的小问题。 本书配备了大量的算法竞赛试题,使用算法竞赛常用的C 语言编写。同时,本书不拘泥于算法竞赛,在第2 ~ 6章的后每一节给出一段阅读材料,介绍算法有趣的应用,帮助读者拓宽思维。 本书的讲解避开了繁琐枯燥的理论,采用浅显易懂的语言和大量生动
本书是备受广大读者推崇的数据结构与算法入门教程,已在GitHub获得超60k的 Star,并多次登顶GitHub Trending。书中系统介绍了数据结构与算法基础、复杂度分析、数组与链表、栈与队列、哈希表、树、堆、图、搜索、排序、分治、回溯、动态规划和贪心算法等核心知识,通过清晰易懂的解释和丰富的代码示例,以及生动形象的全彩插图和在线动画图解,揭示算法工作原理和数据结构底层实现,教授读者如何选择和设计算法来解决不同类型的问题,切实提升编程技能,构建完整的数据结构与算法知识体系。
哇,编程!跟小明一起学算法这本书融入了游戏设计思想,通过游戏攻关的方式,介绍各种算法的原理和应用。全书共分8章,具体包括排序算法、穷举算法、递归算法、回溯算法、贪心算法、分治算法,栈、队列、树三种数据结构,动态规划算法,图论相关算法等内容。
大模型技术掀起了新一轮人工智能浪潮,以ChatGPT 为核心的大模型相关技术可以应用于搜索、对话、内容创作等众多领域,在推荐系统领域的应用也不例外。 本书主要分为3部分。 第1部分简单介绍大模型相关技术,包括大模型的预训练、微调、在线学习、推理、部署等。 第2部分将大模型在传统推荐系统中的应用抽象为4种范式 生成范式、预训练范式、微调范式、直接推荐范式,并对每种范式给出算法原理说明、案例讲解和代码实现。 第3部分以电商场景为例,讲解大模型在电商中的7种应用,包括生成用户兴趣画像、生成个性化商品描述信息、猜你喜欢推荐、关联推荐、冷启动问题、推荐解释和对话式推荐,每种应用场景都包含完整的步骤说明和详细的代码实现,手把手教你构建大模型推荐系统。 本书适合有一定推荐系统基础,期望深入了解和学习大模型技术
本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。本书总计8章。第1章讲解STL,涉及双端队列、优先队列、位图、集合、映射和STL中的常用函数;第2章讲解实用的数据结构,涉及并查集、倍增、稀疏表、区间最值查询、最近公共祖先、树状数组和线段树;第3章讲解查找算法,涉及散列表、字符串模式匹配和字典树;第4章讲解平衡树,涉及树高与性能、平衡二叉搜索树、树堆和伸展树;第5章讲解图论提高方面的知识,涉及连通图与强连通图、桥与割点、双连通分量的缩点和Tarjan算法;第6章讲解图论算法,涉及最小生成树、最短路径、拓扑排序和关键路径;第7章讲解搜索算法提高方面的知识,涉及剪枝优化、嵌套广度优先搜索、双向广度优先搜索和启发式搜索;第8章讲解动态规划
《算法零基础一本通(Python版)》使用 Python 指导读者从零开始学习算法 :由基础数据结构开始,逐步解说信息安全算法,*后也讲解了人工智能入门领域的 KNN 和 K-means 算法。《算法零基础一本通(Python版)》包含约 120 个程序实例,使用约 600 张完整图例,深入讲解了 7 种数据结构和数十种算法,此外也针对国内外著名公司招聘程序员的算法考题做了讲解。《算法零基础一本通(Python版)》实用性强、案例丰富,适合有一定 Python 基础的读者使用,也可作为大中专院校及培训机构的参考教材。
图像去噪、去模糊、修补、超分辨率和压缩感知重建等图像反问题的求解在工程实践中有重要的应用价值, 也是近些年来图像处理领域的前沿热点。本书着重对图像反问题病态性的数值分析和基于算子分裂的图像反问题求解方法进行了较系统的研究和介绍。全书共分6章, 内容包括预备知识、图像反问题病态性数值分析及正则化方法、自适应正则化参数估计和基于算子分裂的图像反问题并行求解方法等。本书中的研究方法虽以图像去噪、去模糊、修补和压缩感知重建等复原类问题为例, 但也可推广至图像分割、高光谱分解、图像压缩等图像处理问题当中。本书适于作为高等学校教师及研究生的参考教材, 或供从事图像处理的科技工作者自学或进修选用。
深度学习和传统机器视觉技术相融合,可以大大提高AI 技术的效率和精度。本书分上、下两篇,共19 章内容,详细讲解了机器视觉及深度学习的理论和编程实践。上篇介绍理论算法。包括机器视觉的经典图像处理算法、深度学习的理论基础和目前常用的深度学习框架。下篇介绍编程环境及系统搭建。讲解了机器视觉图像处理算法及深度学习的编程工具 VC 、Python 和 OpenCV;利用 VC 和 Python 工具,搭建图像处理的工程界面;介绍了常用的9 种深度学习框架的获得方法、安装设置、工程创建,以及深度学习工程的编译、训练、评估与部署方法。每一个搭建的工程,都提供一套可下载的源代码程序,方便读者下载学习。本书理论与实践兼顾,可为从事机器视觉技术及人工智能研究和应用的工程技术人员提供帮助,也可供高等院校相关专业师生学习参考。
近百年来,由于大量计算的例子,数论学家增进了他们的直觉性。计算机和精心研制的算法逐渐导致出现了算法数论这一专门的领域。这个年轻的学科和计算机科学、密码学以及数学的其他分支有很强的联系。数学思想往往导致更好的算法,这是此学科的魅力之一;而对算法的广泛研究也促使数学新思想的产生和新问题的探索。本书包括由各领域首屈一指的专家对算法数论各个专题所写的二十篇综述性文章:前两篇文章为引论;随后的八篇文章覆盖了该领域的核心内容:因子分解、素性、光滑数、格、椭圆曲线、代数数论和算术运算的快速算法;后十篇文章就某个专门方面综述一些特殊课题,包括密码学、Arakelov 类群、计算类域论、有限域上的zeta 函数、算术几何与模形式理论。本书可供数学、计算机科学和密码学等相关专业的读者参考。
物联网、人工智能、大数据解析和机器人工学等,日新月异的科学技术每天都在给人类的生活带来重要的变化。身处这样的一个时代,我们面临一个选择,即怎样面对日新月异的科学技术的发展。在这样的变化中,是作为被动的一方,还是成为主动的一方,抑或是站在时代的前端成为创造的一方?这将取决于我们的选择。只要我们不想成为被动的一方,掌握编程的基本技能就是必不可少的。 本书从讲解学习编程的益处出发,向读者介绍了*好的学习编程的方法。紧接着,介绍了主要编程工具的概要和特点,包括 编程一小时 点灯机器人 Scratch 编码猴 等编程工具。了解这些编程工具后,书中又教读者使用 Scratch 从头到尾制作了一个游戏,从而提高他们的编程技能。*后,作者分析了各编程语言的特点,并为读者学习编程提供了真正有益的指导。本书讲解由浅入深,
本书共13章,第1章引入了微服务架构模式语言的概述;第2章解释了为什么软件架构很重要,并描述了可用于将应用程序分解为服务的模式;第3章介绍了微服务架构中强大的进程间通信的几种模式;第4章介绍Saga模式;第5章介绍领域驱动设计(DDD)的聚合和领域事件等模式的使用;第6章介绍如何使用事件溯源模式;第7章介绍如何使用API组合模式或命令查询责任隔离(CQRS)模式;第8章介绍外部API模式;第9章和第10章介绍微服务自动化测试技术;第11章介绍开发生产就绪服务的各个方面;第12章介绍部署模式;第13章介绍绞杀者模式。
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的人脸识别。 本书轻理论,重实践,适合有一定编程基础,且对云计算、大数据、机器学习、人工智能感兴趣,希望投身到新基建这一伟大事业的读者学习。同时
区块链技术是一种全新的分布式基础架构和计算方式,本书着重阐述区块链系统中的共识算法理论及其场景应用。全书共分7章。第1章介绍区块链的发展过程和基本知识。第2~5章介绍传统分布式系统的一致性算法和典型区块链系统的共识机制,并详细介绍基于投票和信任的两种共识算法。第6章介绍融合区块链的拟态分布式安全存储系统。第7章介绍基于联盟链共识的共管共治多标识网络体系管理系统。
本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。首先介绍了算法和数据结构的总体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第二章 介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第三章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式二叉堆和优先队列的应用。第四章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第五章 介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。第六章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算