本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》针对嵌入式、物联网开发的工程需求,在全面介绍UART接口、RS485接口等硬件接口的工作原理、调试方法的基础上,介绍了Qt跨平台开发的知识,如GUI编程、信号和槽、定时器、事件循环、HTTP和TCP通信等。尤其是着重介绍了网络通信中常用的JSON的原理和cJSON库的使用方法。本书以一个气象站程序为例,对介绍的知识加以应用,同时展示了工程实践中程序迭代升级的过程。 《Qt嵌入式开发实战 从串口通信到JSON通信(微课视频版)》可以分为3部分:第一部分(第1章和第2章)主要介绍硬件接口知识,包括硬件接口(UART、RS485)、通信协议(Modbus)、调试工具(逻辑分析仪、串口调试助手)等的原理和使用方法;第二部分(第3~6章)主要介绍Qt开发的知识,包括GUI程序开发、控件、信号和槽、事件的使用等;第
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统是解决这一矛盾的重要工具。推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
本书共8章,第1章概述AI(Artificial Intelligence,人工智能)系统,介绍机器学习的模型和分类,以及AI系统对测试工程师“提出”的新问题等;第2章介绍数据的处理过程,以及数据的分组方法,详细介绍依托测试数据的测试评价方法;第3章讲解模型中超参数相关的概念,以及关于模型性能的评估指标,并介绍了较为主流的模型的基准测试;第4章重点介绍AI系统的测试用例设计方法,以及传统软件测试方法在AI系统测试中的应用,同时也介绍ChatGPT类应用中SSE(Server-Sent Events)协议的接口测试和LangSmith在测试过程中的使用方法;第5章介绍AI道德的验证,这也是大模型涌现后绝大多数大模型专家所关注的内容,该章重点介绍大模型的“道德”内容及验证方法;第6章介绍提示词工程和软件测试,我们既要能够测试大模型的应用,也要能够充分利用大模型完成测试工作,该章
大模型技术是目前人工智能领域的重要发展方向之一,具有广阔的应用前景和巨大的发展潜力。本书结合当前高等院校创新实践课程,基于大模型应用程序的开发方法,给出可执行实战案例。大模型技术主要开发方向为人机聊天、自动生成代码、旅游图鉴等,本书案例主要包括系统架构、系统流程、开发环境、开发工具、系统实现、功能测试等内容。本书中所述案例多样化,可满足不同层次的人员需求; 同时,本书附赠视频讲解、工程文件、拓展知识、插图素材、程序代码,供读者自我学习和自我提高使用。本书可作为大学信息与通信工程及相关专业的本科生教材,也可作为从事物联网、创新开发和设计的专业技术人员的参考用书。
本书共分10章,首先介绍了汽车电子控制系统以及AUTOSAR 规范的基本概念;之后以AUTOSAR方法论为线索,通过示例开发过程介绍,全面展现了基于AUTOSAR工具链完成符合AUTOSAR规范的车用控制器软件开发的具体流程与方法;*后,剖析了AUTOSAR对道路车辆功能安全ISO 26262标准的支持情况,并对AUTOSAR 与信息安全以及Adaptive AUTOSAR平台进行了介绍。本书以通俗易懂的语言和形象的图解展现了AUTOSAR中一些复杂的概念问题,精心设计的示例亦旨在以开发者的视角深度剖析AUTOSAR方法论的具体实施过程。本书可作为汽车电子相关专业高年级本科生和研究生的参考书,也可作为汽车电子行业软件工程师学习参考的资料。
"本书主要围绕空间目标雷达特性的测量原理及智能识别等应用问题论述,主要包括空间目标雷达特性测量原理和基于人工智能的空间目标智能识别两大部分。其中,空间目标雷达特性原理部分为第1~5章,主要论述了空间目标雷达特性测量基础、逆合成孔径雷达的基本概念、ISAR距离 多普勒成像原理、ISAR成像的运动补偿原理、ISAR距离 瞬时多普勒成像原理等关键的空间目标雷达特性原理。基于人工智能的空间目标智能识别为第6~8章,主要论述了基于雷达散射截面积特性测量的目标智能识别、基于高分辨距离像的目标智能识别,以及基于高分辨ISAR复图像的目标智能识别。其中,第6章主要基于窄带雷达RCS特性测量数据实施目标智能识别; 第7章和第8章主要利用宽带雷达特性测量数据实施目标智能识别。第7章论述了基于一维高分辨距离像的空间目标智能识别,第8章论
本书以一个Kubernetes工程师的视角,全面系统地介绍Kubernetes常见的知识点、企业应用实践及运维管理方法。本书共分18章,第1、2章介绍如何快速搭建高可用的Kubernetes集群;第3~7章介绍Docker的基础和镜像的制作优化,以及Kubernetes的基础概念(Master、Node和Pod)、核心调度资源(Deployment、StatefulSet、DaemonSet、CronJob)、服务发布(Service和Ingress)和配置管理(ConfigMap和Secret)。第8~11章主要介绍Kubernetes的持久化存储、动态存储、CSI、高级调度(容忍、污点和亲和力)、服务质量、权限管理、Kubernetes资源配额管理。第12、13章主要介绍云原生存储、中间件容器化、Operator和Helm的使用。第14~16章主要介绍针对Kubernetes的日志收集(EFK)、监控告警(Prometheus和Grafana)、生产级服务发布Ingress的使用。第17章主要介绍基于Kubernetes、Jenkins、Harbor、GitLab等工具建设生产级的DevOps平台
《JSP Servlet Tomcat应用开发从零始学(第3版)》全面系统地介绍JSP Servlet Tomcat开发中涉及的相关技术要点和实战技巧。《JSP Servlet Tomcat应用开发从零始学(第3版)》内容讲解循序渐进,结合丰富的示例使零基础的读者能够熟练掌握JSP Servlet Tomcat的应用开发和部署。《JSP Servlet Tomcat应用开发从零始学(第3版)》配套示例代码、PPT课件、作者答疑服务。 《JSP Servlet Tomcat应用开发从零始学(第3版)》共17章。第1~7章为Java Web基础开发,内容包括搭建Java Web开发环境、JSP基础语法、JSP内置对象、Servlet技术、请求与响应、会话管理、Servlet进阶API、过滤器、监听器等;第8~15章为Java Web高级开发,内容包括MySQL 8数据库开发、JSP与Java Bean、EL标签、JSTL标签库、自定义标签、JDBC详解、XML概述、资源国际化等;第16~17章为Java Web实战,分别讲解两个典型的系统,即家校通门户网站(JSP
本书的目的是考虑大型且具有挑战性的多阶段决策问题,这些问题原则上可以通过动态规划和最优控制来解决,但它们的精确解决方案在计算上是难以处理的。本书讨论依赖于近似的解决方法,以产生具有足够性能的次优策略。这些方法统称为增强学习,也可以叫做近似动态规划和神经动态规划等。 本书的主题产生于最优控制和人工智能思想的相互作用。本书的目的之一是探索这两个领域之间的共同边界,并架设一座具有任一领域背景的专业人士都可以访问的桥梁。
本书系统讲解了树莓派智能系统设计与Python编程,内容涉及传感器接口、物联网开发、 语音、图像、视频等方面的应用。全书共8 章,分别介绍了树莓派的使用与配置过程、Python 程序设计基础知识、树莓派GPIO 与传感器接口、环境参数监测智能小车、树莓派本地服务器构建与Web端监控软件以及树莓派在语音、视觉和深度学习中的典型应用。通过本书的学习,读者可以快速掌握树莓派智能系统的设计与应用。 为便于读者高效学习,快速掌握树莓派智能系统的开发与实践,作者制作了完整的源代码以及典型案例的讲解视频,并且收集、整理了大量学习的资料与工具。 本书适合作为高等院校电子信息类专业学生学习嵌入式系统、人工智能、Python编程语言相关课程的参考书,也可以作为树莓派爱好者的自学用书。
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
近年来,演化计算作为计算智能领域的经典优化技术,已经广泛应用于求解组合优化、工程优化等理论和工程类的优化问题,形成了一种基于演化的智能优化方法。针对高维空间的多目标优化问题,近年来基于分解的多目标演化算法(MOEAs)利用了分而治之的思想有效降低了求解多目标或高维多目标优化问题的难度。根据分解的形式不同,基于分解的MOEAs又进一步细分为基于聚合的MOEAs和基于参考点的MOEAs。尽管基于分解的MOEAs是目前求解高维多目标优化问题最有前景的技术之一,然而它在方法和应用层面均存在着缺陷和不足。本书第一部分围绕该类方法,着眼于 如何在目标空间中平衡收敛性和多样性 如何在决策空间中平衡探索与开发 以及 如何进行有效的降维 等科学问题,展开了系统性的研究,旨在进一步完善其理论框架并推广其在具体问题上的应用。另外,针
本书是面向数字芯片设计与验证的入门书籍,是微电子相关专业的基础课程。 本书以理论基础为核心,以参考实例为主线,帮助读者迅速建立数字芯片设计和验证的概念和设计基础,包括两篇:数字电路及Verilog篇讲解数字逻辑电路基础,硬件描述语言Verilog的基础语法,对应的实例分析,以及组合逻辑电路和时序逻辑电路的设计和验证的参考实例;SystemVerilog篇讲解包括兼顾设计和验证的语言SystemVerilog的基础语法,对应的实例分析,以及由简单到相对复杂的运算器的设计和验证的参考实例。 本书根据实际工程项目的经验,做了精简和重难点分析,并提供了丰富的实例和源代码供学习参考,通俗易懂,并且易于上机实践,提升学习效果,适合初学者入门,也可作为高等院校和培训机构相关专业的教学参考书。
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
全书共25 章,分成三个部分,分别介绍了精益产品开发的原则、方法和实施。原则部分,从精益及敏捷产品开发的目标入手,梳理了敏捷和精益思想的来龙去脉和具体的实践框架,构建了系统和完整的精益产品开发体系。方法部分,以作者在华为、招商银行、平安科技以及数家互联网创业公司的大量成功案例为基础,详细介绍了这些案例背景、应用细节以及背后的原理和方法,构建了坚实、系统和可应用的实践方法体系。实施部分继续以真实案例为基础,总结了完备的精益产品开发实施路径,涵盖了需求管理、过程改进、质量提升、团队建设、DevOps 落地等实施中的重点要素。本书适合所有准备实施或正在实施敏捷和精益方法以及希望改善组织价值交付效率、质量、灵活性以及产品创新能力的团队阅读与参考。