本书是备受广大读者推崇的数据结构与算法入门教程,已在GitHub获得超60k的 Star,并多次登顶GitHub Trending。书中系统介绍了数据结构与算法基础、复杂度分析、数组与链表、栈与队列、哈希表、树、堆、图、搜索、排序、分治、回溯、动态规划和贪心算法等核心知识,通过清晰易懂的解释和丰富的代码示例,以及生动形象的全彩插图和在线动画图解,揭示算法工作原理和数据结构底层实现,教授读者如何选择和设计算法来解决不同类型的问题,切实提升编程技能,构建完整的数据结构与算法知识体系。
本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C 语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的遍历和图的连通性;第7章讲解图的应用,包括短路径、小生成树、拓扑排序
这是一本关于 高级/进阶 算法和数据结构的图书,主要介绍了用于Web应用程序、系统编程和数据处理领域的各种算法,旨在让读者了解如何用这些算法应对各种棘手的编码挑战,以及如何将其应用于具体问题,以应对新技术浪潮下的 棘手 问题。 本书对一些广为人知的基本算法进行了扩展,还介绍了用于改善优先队列、有效缓存、对数据进行集群等的技术,以期读者能针对不同编程问题选出更好的解决方案。书中示例大多辅以图解,并以不囿于特定语言的伪代码以及多种语言的代码样本加以闸释。 学完本书,读者可以了解高级算法和数据结构的相关内容,并能运用这些知识让代码具备更优性能,甚至能够独立设计数据结构,应对需要自定义解决方案的情况。 本书可作为高等院校计算机相关专业本科高年级学生以及研究生的学习用书,也可供从事与算法相关工作
本书从一系列有趣的生活实例出发,全面介绍了构造算法的基础方法及其广泛应用,生动展现了算法的趣味性和实用性。书中介绍了算法在多个领域的应用,如图像处理、物理实验、计算机图形学、数字音频处理、机器学习等。其中,既有各种大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法、KNN、贝叶斯算法,也有不起眼的排序和概率计算算法。本书讲解浅显易懂而不失深度和严谨,对程序员有很大的启发意义。书中所有示例都与生活息息相关,充分地展现了算法解决问题的本质,让你爱上算法,乐在其中。本书在第1版的基础上新增了图像处理算法、游戏开发中检测碰撞常用的分离轴 (SAT)算法、垃圾邮件过滤相关的算法、中文分词算法、限流算法、手写数字识别和变声器等,进一步提升趣味性。 本书适合软件开发人员、编程和算法爱好者以及
内 容 提 要 本书结合实际应用场景讲解数据结构和算法,涵盖常用、常考的数据结构和算法的原理讲解、代码实现和应用场景等。 本书分为11章。第1章介绍复杂度分析方法。第2章介绍数组、链表、栈和队列这些基础的线性表数据结构。第3章介绍递归编程技巧、8种经典排序、二分查找及二分查找的变体问题。第4章介绍哈希表、位图、哈希算法和布隆过滤器。第5章介绍树相关的数据结构,包括二叉树、二叉查找树、平衡二叉查找树、递归树和B 树。第6章介绍堆,以及堆的各种应用,包括堆排序、优先级队列、求Top K、求中位数和求百分位数。第7章介绍跳表、并查集、线段树和树状数组这些比较高级的数据结构。第8章介绍字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie树和AC自动机。第9章介绍图及相关算法,包括深度优先搜索、广度优先搜索、拓扑排序
近百年来,由于大量计算的例子,数论学家增进了他们的直觉性。计算机和精心研制的算法逐渐导致出现了算法数论这一专门的领域。这个年轻的学科和计算机科学、密码学以及数学的其他分支有很强的联系。数学思想往往导致更好的算法,这是此学科的魅力之一;而对算法的广泛研究也促使数学新思想的产生和新问题的探索。本书包括由各领域首屈一指的专家对算法数论各个专题所写的二十篇综述性文章:前两篇文章为引论;随后的八篇文章覆盖了该领域的核心内容:因子分解、素性、光滑数、格、椭圆曲线、代数数论和算术运算的快速算法;后十篇文章就某个专门方面综述一些特殊课题,包括密码学、Arakelov 类群、计算类域论、有限域上的zeta 函数、算术几何与模形式理论。本书可供数学、计算机科学和密码学等相关专业的读者参考。
本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握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和动态规
深度学习和传统机器视觉技术相融合,可以大大提高AI 技术的效率和精度。本书分上、下两篇,共19 章内容,详细讲解了机器视觉及深度学习的理论和编程实践。上篇介绍理论算法。包括机器视觉的经典图像处理算法、深度学习的理论基础和目前常用的深度学习框架。下篇介绍编程环境及系统搭建。讲解了机器视觉图像处理算法及深度学习的编程工具 VC 、Python 和 OpenCV;利用 VC 和 Python 工具,搭建图像处理的工程界面;介绍了常用的9 种深度学习框架的获得方法、安装设置、工程创建,以及深度学习工程的编译、训练、评估与部署方法。每一个搭建的工程,都提供一套可下载的源代码程序,方便读者下载学习。本书理论与实践兼顾,可为从事机器视觉技术及人工智能研究和应用的工程技术人员提供帮助,也可供高等院校相关专业师生学习参考。
本书将数学理论与实例相结合,这些实例以*先进的通用机器学习框架为基础,由Python实现,向读者介绍更复杂的算法。全书共25章,包括机器学习模型基础、损失函数和正则化、半监督学习导论、高级半监督分类、基于图的半监督学习、聚类和无监督学习模型、高级聚类和无监督学习模型、面向营销的聚类和无监督学习模型、广义线性模型和回归、时序分析导论、贝叶斯网络和隐马尔可夫模型、*大期望算法、成分分析和降维、赫布学习、集成学习基础、高级提升算法、神经网络建模、神经网络优化、深度卷积网络、循环神经网络、自编码器、生成对抗网络导论、深度置信网络、强化学习导论和高级策略估计算法。
本书介绍了如何分析排队模型的概率性质,以及分析过程中所涉及的统计原理。作者并没有局限于某个特定的应用领域,而是基于计算机科学、工程学、商业和运筹学等多个领域的实践阐述了相关的排队论理论。本书特别介绍了一种数值方法,可以帮助读者理解排队论并对相关数据进行估算,并全面地介绍了简单的和高级的排队模型。 本书扩展了对排队论的定性(非数学)描述,包括对日常生活中排队场景的描述,扩展了对随机过程的介绍,包括泊松过程及马尔可夫链。在介绍理论知识的同时,本书还提供了实际应用的例子,所有习题都已经过国外本科及研究生高等课程的课堂测试,可以帮助读者掌握解决实际排队问题的技巧。各章所介绍的关键概念和公式都是相对独立的,读者可以单独阅读感兴趣的内容。 本书可作为高等院校应用数学、统计学等专业师生的
本书共13章,第1章引入了微服务架构模式语言的概述;第2章解释了为什么软件架构很重要,并描述了可用于将应用程序分解为服务的模式;第3章介绍了微服务架构中强大的进程间通信的几种模式;第4章介绍Saga模式;第5章介绍领域驱动设计(DDD)的聚合和领域事件等模式的使用;第6章介绍如何使用事件溯源模式;第7章介绍如何使用API组合模式或命令查询责任隔离(CQRS)模式;第8章介绍外部API模式;第9章和第10章介绍微服务自动化测试技术;第11章介绍开发生产就绪服务的各个方面;第12章介绍部署模式;第13章介绍绞杀者模式。
Qt是软件开发领域中非常著名的C++可视化开发平台。本书以Qt 5.11为平台,介绍Qt和QML编程及其应用开发。全书分为5个部分。第1部分为Qt基础,在上一版的基础上增加了Qt操作表格处理软件Excel数据和字处理软件Word数据的内容。第2部分为Qt综合实例,重新设计了电子商城系统、MyWord字处理软件、微信客户端程序。第3部分为Qt扩展应用OpenCV,首先配置OpenCV-3.4.3,然后介绍典型图片处理。第4部分为QML和Qt Quick及其应用,介绍了QML及Qt Quick相关内容,【综合实例】为多功能文档查看器。第5部分为附录,介绍了C++相关知识和Qt 5简单调试。本书提供配套的视频,分析典型案例,通过扫描二维码播放。为了方便读者上机练习,书中实例提供源代码,其编号为CH×××。
《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第1 卷,讲解 基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。 本书适合从事计算机科学、计算数学等各方面工作的人员阅读,也适合高等院校相关专业的师生作为教学参考书,对于想深入理解计算机算法的读者,是一份必不可少的 珍品。
隐写术是把秘密消息隐藏在看似正常的数字媒体中,通过隐藏秘密消息的存在性来获得通信安全的一种隐蔽通信技术,它是信息隐藏技术的一个重要分支。弗里德里希编著的这本《数字媒体中的隐写术--原理算法和应用》全面介绍了隐写术的历史起源、基本原理、主要算法和实际应用,同时还重点介绍了检测隐写术的隐写分析技术。本书还包含了隐写及隐写分析中用到的多种理论,如信息论、编码理论、信号估计和检测,以及统计信号处理等,且大部分算法都提供了伪代码,使得算法的实现非常容易。 本书适合作为信息安全、信息处理、计算机应用等专业本科高年级学生及研究生的专业课教材,也可供从事信息隐藏和多媒体信息安全领域研究的科研人员阅读参考。
《漫画算法:小灰的算法之旅》通过虚拟的主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识、复杂多变的算法面试题目及算法的实际应用场景。 第1章 介绍了算法和数据结构的相关概念,告诉大家算法是什么,数据结构又是什么,它们有哪些用途,如何分析时间复杂度,如何分析空间复杂度。 第2章 介绍了*基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。 第3章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式 二叉堆和优先队列的应用。 第4章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。 第5章 介绍了10余道职场上流行的算法面试题及详细的解题思路。例如怎样判断链表有环,怎样计算大整数相加等。 第6章 介绍了算法在职场上的一些应用,例如使用LRU
《Swift常用算法 经典计算机科学问题的Swift实现》 通过探究基本的编码技术和算法,进一步提高读者的Swift编程技能。读者在领略书中关于搜索、聚类、图等领域的示例时,脑海中将会重现一些已经淡忘的重要内容,并将找到 新 问题的经典解决方法。作者David Kopec具有出众的能力,将计算机科学的核心原理与诸如应用、数据、性能甚至通过工作面试等现实问题加以关联。 特色内容: ◆ 宽度优先、深度优先、A*搜索算法 ◆ 约束满足问题 ◆ 使用图算法来解决问题 ◆ 神经网络、遗传算法等 ◆ 全部代码示例采用Swift 4.1编写 《Swift开发秘籍》 在本书中,著名编程图书作者Erica Sadun介绍了有效的策略和即时可用的Swift代码来应对日常开发所面临的挑战。 在Erica Sadun编写的所有编程畅销书中, Swift开发秘籍 将现代的*实践转换为几十个行之有效、
《计算机程序设计艺术》系列是公认的计算机科学领域经典之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第 1 卷,讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。