本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
机器学习是以概率论、统计学、信息论、**化理论、计算理论等为基础的计算机应用理论学科,也是人工智能、数据挖掘等领域的基础学科。《机器学习方法》全面系统地介绍了机器学习的主要方法,共分三篇。篇介绍监督学习的主要方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与**熵模型、支持向量机、Boosting、EM算法、隐马尔可夫模型、条件随机场等;第二篇介绍无监督学习的主要方法,包括聚类、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配、PageRank算法等。第三篇介绍深度学习的主要方法,包括前馈神经网络、卷积神经网络、循环神经网络、序列到序列模型、预训练语言模型、生成对抗网络等。书中每章介绍一两种机器学习方法,详细叙述各个方法的模型、策略和算法。从具
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。第1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。第2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
"本书主要围绕空间目标雷达特性的测量原理及智能识别等应用问题论述,主要包括空间目标雷达特性测量原理和基于人工智能的空间目标智能识别两大部分。其中,空间目标雷达特性原理部分为第1~5章,主要论述了空间目标雷达特性测量基础、逆合成孔径雷达的基本概念、ISAR距离 多普勒成像原理、ISAR成像的运动补偿原理、ISAR距离 瞬时多普勒成像原理等关键的空间目标雷达特性原理。基于人工智能的空间目标智能识别为第6~8章,主要论述了基于雷达散射截面积特性测量的目标智能识别、基于高分辨距离像的目标智能识别,以及基于高分辨ISAR复图像的目标智能识别。其中,第6章主要基于窄带雷达RCS特性测量数据实施目标智能识别; 第7章和第8章主要利用宽带雷达特性测量数据实施目标智能识别。第7章论述了基于一维高分辨距离像的空间目标智能识别,第8章论
ANSYS Fluent软件是目前国际上主流的商业CFD软件,只要涉及流体、热传递及化学反应等工程问题,都可以用该软件进行求解。本书通过大量实例系统地介绍了Fluent 2024的使用方法。 全书共12章,首先讲解了计算流体力学的基础理论与Fluent的基本情况,随后针对Fluent可以解决的流体仿真问题,包括稳态模拟、瞬态模拟、内部流动、外部流动、离散相模拟、传热流动、多孔介质和气动噪声、动网格模拟、滑移网格模拟、理想气体模拟、多相流分析等进行应用分析,同时均辅以案例,从几何建模到网格划分,再到计算求解,最后到结果后处理的整个分析过程展开了详细讲解,通过利用Fluent进行流体模拟计算的每一步骤,帮助读者掌握使用Fluent软件的工作流程和计算方法。 本书结构严谨、条理清晰、重点突出,提供了教学视频、案例文件和授课用PPT等学习资源,非常适合广大
本书由系统架构领域3位领军人物亲笔撰写,系统架构领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。 全书共分四部分。 第1部分(第1~3章)的重点是系统架构所展现出来的机遇,这种机遇使我们能够厘清定义系统所需的关键决策点,并选出能够应对复杂挑战的架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出了进行系统分析的思路;第3章给出了分析系统架构所用的思维模式。 第二部分(第4~8章)着重对架构进行分析。第4章讨论了系统的形式;第5章讨论了系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示样把这些概念汇聚成一套架构。 第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付
本书以一个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平台
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书是一本关于Django开发快速入门的图书。 本书清晰明了地讲解了使用Django进行Web项目开发时所涉及的常用知识点,包括框架配置、路由配置、模型、视图、模板、表单、中间件、上下文处理器、代码测试、网站缓存和网站部署等内容。 本书的宗旨是以尽可能简洁的流程引领读者快速入门Web项目开发,并能够在实战项目中充分体会使用Django进行Web项目开发的各种技术与方法。 本书主要包含两部分内容: 第一部分(第1~6章)为读者介绍Django的用途与特点、设计理念以及Django开发所依赖的知识体系;同时,通过一个Web项目对Django开发流程进行快速体验。 第二部分(第7~15章)与读者一起完成一个安全资讯网站的主体开发,使读者能够更加深入地了解Django在Web项目开发中高效率、易扩展的优点,以及在Web项目的整体开发中所起到的作用。同时,能够让读者更全面地了
本书是AB实验领域的标准化著作,它将带领你快速理解AB实验原理、掌握AB实验方法、搭建AB实验平台、塑造基于数据和实验的企业文化,高效开展AB实验、实现用AB实验驱动增长。 作者是某BAT大厂的数据科学家,在数据产品、AB实验等数据科学领域有10余年经验,亲自主导了该厂AB实验平台的搭建和AB实验产品的设计与分析,积累了丰富的经验。 学习本书,你将收获以下知识和技能: AB实验的基础知识、关键问题及其挑战; AB实验的统计学知识、参与单元、随机分流; AB实验的SRM问题、灵敏度、长期影响; AB实验的产品指标体系、评估指标体系; AB实验的平台建设、组织和文化建设; AB实验的增长实践和解决方案; AB实验的难点和局限性; 因果分析方法和用户调查分析方法 本书内容具有以下3个特点: (1)全面系统、主次分明:如上所述,本书涵盖AB实验
本书以作者经历为原型,以虚拟人物小M的案例故事为线索,从一个项目管理实践者的角度介绍了IT项目管理的实用工具和实战经验。本书围绕小M从一个技术人员走上IT项目经理岗位,并逐步成长为项目总监的过程,以IT项目经理岗位为主,介绍了在项目管理的不同职业阶段遇到的问题和挑战、解决过程和经验教训。在每个阶段,围绕小M经历的实际案例,分别从项目管理、质量管理和软技能三个方面进行说明,并将侧重点放在了将理论 落地 的实战经验,以及管理组织和人际关系的 软技能 上。本次修订新增组织级敏捷项目管理和项目管理的发展趋势。 本书非常适合作为国内众多IT企业中的项目经理、质量经理、项目总监,以及主管交付的总经理或公司高管提升管理技能的案例教程,同时也为有志于向项目经理方向发展的软件开发和测试人员提供了一条极具参考价值
本书的目的是考虑大型且具有挑战性的多阶段决策问题,这些问题原则上可以通过动态规划和最优控制来解决,但它们的精确解决方案在计算上是难以处理的。本书讨论依赖于近似的解决方法,以产生具有足够性能的次优策略。这些方法统称为增强学习,也可以叫做近似动态规划和神经动态规划等。 本书的主题产生于最优控制和人工智能思想的相互作用。本书的目的之一是探索这两个领域之间的共同边界,并架设一座具有任一领域背景的专业人士都可以访问的桥梁。
《Unity手机游戏开发:从搭建到发布上线全流程实战》将以一款开放世界类游戏的实践过程为主线,为读者呈现从零开始上线一款游戏的实践路线、游戏引擎Unity的开发模式,以及游戏开发的核心框架。 《Unity手机游戏开发:从搭建到发布上线全流程实战》共分为3篇,第1篇是场景搭建篇,第2篇是脚本开发篇,第3篇是发布上线篇。第1篇包含第1章和第2章,主要介绍在Unity中如何创建一个游戏项目,如何搭建一款游戏的场景和界面。第2篇包含第3章到第5章,主要介绍一款游戏的核心模块,即游戏控制、角色动画和核心玩法,同时实践一款游戏《小猪奇奇》的完整开发流程。第3篇包含第6章到第8章,主要介绍游戏的移动端发布流程,同时对游戏进行测试与完善,终把书中的游戏案例打造成一款符合上线标准的游戏。
本书着重讨论以下核心内容,并层层递进,逐步深入。 首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。 其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。 后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
华为自主研发的 HarmonyOS(鸿蒙系统)是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》采用 HarmonyOS 2.0 版本作为基石,详细介绍如何基于 HarmonyOS 进行应用的开发,包括 HarmonyOS 架构、DevEco Studio、应用结构、Ability、任务调度、公共事件、通知、剪贴板、Java UI、JS UI、多模输入、线程管理、视频、图像、相机、音频、媒体会话管理、媒体数据管理、安全管理、二维码、通用文字识别、蓝牙、WLAN、网络管理、电话服务、设备管理、数据管理等多个主题。《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》辅以大量的实战案例,图文并茂,让读者易于理解和掌握。同时,《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》的案例选型偏重于解决实际问题,具有很强的前瞻性、应用
近年来,越来越多的游戏开发爱好者开始关注Unity引擎,相比于其他引擎,Unity有强大的资源商店和跨平台能力,而且容易上手,目前已成为游戏开发行业的主流选择,受到了大量开发者的青睐。 《从零开始学Unity游戏开发:场景 角色 脚本 交互 体验 效果 发布》共有10章内容,以认识Unity引擎开始,从0到1突破,循序渐进地介绍了Unity游戏开发的方方面面。《从零开始学Unity游戏开发:场景 角色 脚本 交互 体验 效果 发布》采用知识点讲解、经验技巧与相应的动手练习相结合的方式,将一个完整的游戏案例以章节任务的形式贯穿其中,系统地讲解如何从基本的熟悉Unity界面操作开始,一步步搭建起游戏场景,让其逐渐丰富生动起来,并能与玩家进行交互,然后添加UI界面完善游戏流程,增强游戏的画面效果和视听体验及游戏的真实性,终形成一款相对完整的成品游戏,
作者凭借在全球不同国家和行业内的多年实践经验,从战略规划、技术选型、架构设计到人力资源管理、团队建设和流程优化等多个维度,为企业的现代化改造提供了全面的指导。本书讨论了通过引入沃德利地图、事件风暴、产品分类、领域划分、团队拓扑、松耦合软件架构、内部开发者平台、数据网格、现代化战略、学习与提升技能来加快企业的产品创新和服务优化,同时有效地管理变革,减少风险。本书适合技术领导者、技术人员、产品负责人等架构相关人员阅读。
本书全面、系统地介绍了Creo 8.0 曲面设计的方法和技巧,包括曲面设计的发展概况、曲面造型的数学概念、曲面基准的创建、简单曲面的创建、复杂曲面的创建、曲面的修改与编辑、曲面中的倒圆角、曲线和曲面的信息与分析、ISDX 曲面设计、自由式曲面设计及产品的逆向设计等。 在内容安排上,为了使读者更快地掌握Creo 软件的曲面设计功能,书中结合大量的范例对Creo 曲面设计中一些抽象的概念、命令和功能进行讲解。另外,书中以范例的形式讲述了多款生产一线实际曲面产品的设计过程,这种安排能使读者较快地进入曲面设计实战状态。在写作方式上,本书紧贴软件的实际操作界面,采用软件中真实的对话框、操控板和按钮等进行讲解,使初学者能够直观、准确地操作软件进行学习,提高学习效率。 书中所选用的范例、实例或应用案例覆盖了不同行业,具有
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
探索软件的起源与演进,呈现软件发展史上的重要人物和事件。按软件的孕育、诞生、发展、改进、壮大过程分为六篇。 第一篇 潜龙勿用 追溯二进制数与中国文化的渊源、莱布尼茨发明二进制算术的动机和背景、穿孔卡片与二进制数的结合、穿孔卡片在自动提花机和自动计算中的应用、巴贝奇制作分析引擎的艰辛历程、世界上第一个计算机程序的诞生过程。 第二篇 见龙在田 1936年图灵机模型横空出世。世界各地的发明家陆续开始制作计算机,世界上第一台可编程计算机在德国诞生,第一台电子数字计算机ABC在美国诞生,随后为曼哈顿项目做出重要贡献的机械式通用计算机马克一号悄悄登场,第一台通用数字计算机ENIAC问世。冯?诺依曼完成在计算机历史上具有里程碑意义的《第一草稿》。 第三篇 终日乾乾 1945年图灵提出ACE提案,着手制造电子计算机,同时构
在软件架构中没有简单的决策。相反,这里充斥着艰难的部分——困难的问题,并且没有实践——迫使你在其中做选择。在本书中,你将学会如何用批判性思维来考虑分布式架构中的利弊。本书探讨了选择适架构的策略。通过穿插一个虚构的技术小组的故事—— Sysops Squad——试验各种可能性,从如何确定服务粒度、管理工作流和编排、管理和解构契约、管理分布式事务,到如何优化运维性特征,例如可伸缩性、弹性和性能。通过关注在常见问题上,本书可以帮助作为架构师的你遇到问题时如何发掘和权衡利弊。无论你是渴望成为架构师,还是早已经验丰富,都无需手忙脚乱,本书将详细指导你在创建企业级应用和微服务的过程中取得成功。