本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
通过本书你将了解到如何使用、部署和维护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提案,着手制造电子计算机,同时构
《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》通过大量工程案例由浅入深地介绍ICEM CFD网格划分的各种功能,重点讲解ICEM CFD进行网格划分,特别是结构化网格划分的方法。《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》共分为12章,包括计算流体的基础理论与方法、创建几何模型、二维网格划分、三维网格划分、结构化网格划分、非结构网格划分、网格边界等功能的介绍,针对每个ICEM CFD可以解决的网格划分问题进行详细的讲解,并辅以相应的实例,使读者能够快速、熟练、深入地掌握ICEM CFD软件。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》还提供了同步教学视频和上机练习素材文件,以方便读者更好地使用《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》结构严谨,条理清晰,重点突出,非常适合
本书全面介绍嵌入式系统软件测试的设计方法、流程和常用模板,并且以实际工作案例的方式,对测试方法和流程进行详细介绍。本书分为三个部分,“方法篇”介绍嵌入式测试的流程管理、配置管理,并介绍基本的应用场景,例如,基于业务的场景、探索式测试、任务驱动的测试等方法体系,以及基于思维导图实现嵌入式测试的设计方法。“案例篇”以一个真实的嵌入式测试项目为主线,从需求说明书开始具体讲解嵌入式软件测试的各个环节,包括测试计划、测试方案、测试用例、缺陷分析、测试报告等,多维度地介绍嵌入式系统测试流程的细节实现。“模板篇”包含大量测试案例与模板详解,而且相关网站提供这些案例与模板的电子版,可供读者直接下载参考使用。本书的特点是:扎根嵌入式系统,重点突出,系统全面,实用性强。
《软件测试之魂:核心测试设计精解(第2版)》以测试设计为主线,首先介绍了软件测试行业在过去十多年来的发展变化——如今,实实在在地发生在我们身边的一起起软件质量事故,无不昭示着软件测试行业朝阳的到来。如何把握测试技术,把测试工作做得精透,成为测试行业的佼佼者,也是很多读者朋友关心的话题。《软件测试之魂:核心测试设计精解(第2版)》接下来首先明确了测试的目标,然后介绍了测试设计的各个环节,包括测试架构的设计、测试需求分析与测试策略制定、测试方案的设计、用例的设计、测试执行流程设计、测试输出的管理设计、测试过程的控制方法设计等。 最后,以追逐软测之理念进行延展,旨在帮助读者理解站在测试工作之上看测试,如何自我进行测试创新,为走出一条属于自己的测试精华之路提供指引。
本书将3D One设计与深受大家喜爱的思维导图相结合,旨在通过丰富多彩的三维实体设计实例,培养孩子的创新思维能力。本书首先介绍了3D One软件及平台的基础知识,然后选取15组具有代表性的生活中常见的实物为例(水杯、板凳、扇叶、小船、风车、无人机等),分为存储准备-思想加工-顿悟提升三个阶段,循序渐进地讲解了使用3D One Plus软件进行建模的过程与技巧,通过这些实例使读者快速掌握3D One Plus的所有命令,并能够熟练地加以运用。每节均以思维导图描述每个实例的构思过程,以课堂对话的形式情景再现,逐步引导孩子发散思维,实现更多样更复杂的效果。很后介绍了用Keyshot软件渲染模型的技巧,使模型更漂亮。本书提供配套学习资料包,包含flash课件(操作命令详解)、所有实例的制作视频等,很好适合用作中小学师生开展创客教育相关活动的教材,
自然语言处理(NaturalLanguageProcessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及所有用计算机对自然语言进行的操作。《Python自然语言处理》是自然语言处理领域的一本实用入门指南,旨在帮助读者学习如何编写程序来分析书面语言。《Python自然语言处理》基于Python编程语言以及一个名为NLTK的自然语言工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。章到第3章介绍了语言处理的基础,讲述如何使用小的Python程序分析感兴趣的文本信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍语言处理的基本原理,包括标注、分类和信息提取等。第8章到0章介绍了句子解析、句法结构识别和句意表达方法。1
在软件领域,很少能有像《人月神话》一样具有深远影响力和不衰的著作。Brooks博士为人们管理复杂项目提供了洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。在《人月神话》次出版40年后的今天,我们重新整理了Brooks博士的经典内容,并将国内软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为国内从业者的经典之一。本书读者包括:软件开发人员、软件项目经理、系统分析师等IT从业者。
本书以软件复用中的资产管理和过程管理为核心展开,其中软件资产管理涉及了软件资产的描述、分类、存储、检索与维护的技术、方法和工具;软件复用过程管理则涉及了建立复用过程的相关指导原则和依照这些原则建立的一套相关过程的实例,包括角色定义、活动描述和制品模板等。本书内容理论联系实践,使得读者不仅可以系统化地学习软件资产管理和软件复用过程管理的相关方法和技术,也能结合本书的案例,掌握如何在基于构件的软件开发中有效地管理软件资产,以及如何有效地实行软件复用过程管理。
本书首先讲解了什么是系统,什么是系统架构,并从形式和功能两个方面讲解了如何分析系统。之后开始讲解如何创建良好的系统架构。在将概念演化为架构的过程中,架构师需要对系统进行分解,以看清这些组件的结构以及它们之间的交互情况,因此需要根据一些衡量指标来构建权衡空间,以便使用优化算法找出优势较大的架构。
在上一版十分的基础上,《大规模并行处理器编程实战第版》全面更新了并行编程方法和技术的内容。本书旨在综述并行编程,展示了专业人士和学生都可以使用的一种编程思维,以此来指导并行编程和优化应用程序,从而使性能得到显著提升。本书作者和所采用的简洁、直观、实用的方法基于他们多年的并行计算课程实践。 第版新增的内容 并行模式:包括多章并行模式内容,是并行编程应用中使用的很多并行算法的基础。 CUDA Fortran:新增的这一章介绍编程如何使用架构,其中讲解了几个编程的实用示例。 OpenACC:新增的这一章介绍一个开放的并行编程预编译指令,以实现并行编程简洁化的目的。 Thrust:库是的抽象层函数库。新增的这一章介绍了如何通过使用并行编程模板,对源程序只做简单的修改就可以使程序实现高性能。 C AMP:简单介绍了,它是由微软