首页 > 图书中心 >图书详情
算法设计与分析(第5版·微课视频版)
作者:吕国英、李茹、王文剑、曹付元、钱宇华、张虎、郭丽峰、门昌骞
丛书名:21世纪高等学校计算机类专业核心课程系列教材
定价:59元
印次:5-1
ISBN:9787302681267
出版日期:2025.02.01
印刷日期:2025.01.21
"本书内容遵循2020年发布的《ACM/IEEE计算课程体系规范》(Computing Curricula,CC)即CC2020,采用“计算”一词作为计算机工程、计算机科学和信息技术等所有计算机领域的统一术语。本书主要介绍算法及其设计、分析的基础知识,并通过大量例题,讲解枚举法、递推法、分治法、贪婪算法、动态规划及与图搜索有关的算法策略。除此之外,还讲解了算法设计基本工具的使用和算法设计中的技巧。最后通过案例的一题多解进行算法设计的实践。算法描述采用了接近自然语言(英语)的符号,可读性强,适合不同程序设计语言背景的读者学习。 本书可作为高等院校计算机及相关专业高年级本科生和研究生“算法设计”课程的教材,也可作为计算机工作者、广大程序设计爱好者和信息学爱好者的参考书。 "
more >前言 党的二十大报告指出: “推动战略性新兴产业融合集群发展,构建新一代信息技术、人工智能、生物技术、新能源、新材料、高端装备、绿色环保等一批新的增长引擎。”因此这一版应用篇中增加了第7章自然语言处理及算法,意在与时俱进,提升计算机软件开发人才核心竞争地位,培养软件开发和研究人才。 国家973信息技术与高性能软件基础规划项目首席科学家顾钧教授和中国工程院院士李国杰教授指出,我国的软件开发要算法先行,这样才能推动软件技术的研究与开发,提高我国企业软件产品的技术竞争力和市场竞争力。 “算法设计与分析”是一门理论性与实践性结合紧密的课程,是计算机科学与计算机应用专业的核心课程。学习算法设计可以在分析和解决问题的过程中,培养学生的抽象思维和缜密概括的能力,提高学生的软件开发与设计能力。 全书共分四篇: 第1篇“引入篇”共两章,从认识算法开始,介绍问题求解的步骤及算法在其中的重要地位,讲解了算法效率分析的基本方法,对当前常用的算法软件进行了概述(1.3节可作为选修)。 第2篇“基础篇”对算法的重复操作机制——循环和递归的设计要点、算法中数据结构的选择和提高算法效率的基本技巧做了讲解,这些都是算法设计的重要基础。 第3篇“核心篇”共两章,主要介绍几种常用的算法策略,如枚举法、递推法、分治法、贪婪算法、动态规划及与图搜索有关的算法策略,并对各种算法策略进行了总结比较。 第4篇“应用篇”共3章。第6章通过随机序列改进前面介绍的算法效率,介绍概率经典算法; 第7章介绍了自然语言处理的基本知识; 第8章以问题为节,每节针对同一问题采用不同的数学模型、不同的数据结构或不同的算法策略进行算法设计,并进行效率分析,开阔读者的眼界。这部分内容是对算法设计学习的实践。 本教材建设的理念是“实用、适用”。书中的例题选择力求简单但具有代表性,从分析问题开始,经模型建立,再进行算法设计(包括数据结构设计)和算法分析。这样有利于培养学生“设计”算法的能力,而不是“记忆” 算法的能力,并力争浅显易懂地讲解较深奥的算法设计策略和算法分析方法。 本书的主要特点如下。 1) 重系统性 本书的第3篇“核心篇”摒弃同类教材中根据问题划分章节的方法,通过对算法策略特点的概括和归纳,以同一策略下的应用差别来划分章节,使其结构更合理、讲解更系统,更加符合认知规律。同时,在各章末对算法进行比较、总结,使学生能方便、全面地掌握算法策略的本质及算法应用体系。 2) 重启发性 本书中的例题都是经过问题分析、数学建模、数据结构设计后,才给出算法设计和算法分析的。这样讲解富有启发性,不仅可培养学生算法设计的思维方式,还能让学生改变被动接受知识的习惯,养成主动学习的意识, 进而提高创新能力。 3) 重适用性 第2篇“基础篇”是从程序设计到算法设计承上启下的内容,对问题求解的基本方法、算法基本工具的使用及提高算法效率的基本技巧做了必要的总结、归纳,相信这些内容会对普通院校的广大学生有较大的裨益,促进其打好学习算法设计的基础。本篇内容弥补了以往教材缺乏课程间衔接内容的缺陷,可以增强学生学习该课程的自信心,提高教学效率。 4) 重开放性 本书的第1篇对现代算法进行了概览,旨在扩大学生的知识面,提高其对算法设计的学习兴趣。本书还独特地介绍了从算法到程序转换的要点,引导学生不要仅停留在形式化的算法描述阶段,而是应该大胆上机实现,提高学习本学科的兴趣。 5) 重实践性 第4篇“应用篇”是本书的一大亮点。该篇第8章以问题为节,每节针对同一问题采用不同的数学模型、不同的数据结构或不同的算法策略进行算法设计,扩展学生解决问题的思路,使学生学会灵活运用算法知识,而不是生搬硬套教材中的算法。同时,也可以使学生通过对多种算法设计的分析和比较来认识算法的优劣,从而设计出质量优良的算法。 在学习算法设计的过程中,有的读者会感到所学的内容和大多数例题离现实问题较远,似乎用途不大,这是因为现实中的问题往往比较复杂,需要具备丰富的领域知识、算法设计方法和技巧规范及软件工程的开发规范等综合技能。所以,本书只能通过一些简单、抽象的例子,对基础的算法策略进行讲解,待读者打好算法设计基础且有足够的问题领域知识储备后,才能去解决实际应用问题。附录“算法设计与分析”课程设计大纲给出一些与现实结合相对紧密的练习,区别于章节习题,希望读者广开思路,应用所学知识解决问题。 本书自2006年第1版出版以来,受到读者的广泛好评,多所院校将本书作为“算法设计与分析”课程的教材,在此,我们表示由衷的感谢!同时,我们深感重任在身,在听取广大读者提出的宝贵意见的基础上,极为慎重地对待每次改版工作。第2版主要修正了第1版中表述不准确的内容; 第3版主要增加了适合大数据高效处理的概率算法; 第4版更新了“现代常用算法概览”一节,希望能更好地激发读者学习算法设计与分析的兴趣,同时为构建算法相关知识体系,结合教材内容增加了大量需要读者深入思考的提示。第5版除增加了第7章,还将有的【提示】更新为更准确的【思考】或【注意】主题,其中【思考】内容更加注重教书育人的理念。本书的出版凝聚了出版社工作人员的辛勤汗水,在此感谢出版社领导和编辑们的信任与付出。 随着信息化时代的到来,计算机开发平台日新月异,计算机的应用也不断拓展到各个领域,各类算法和技巧层出不穷,本书只能是“管中窥豹”。若能达到本书的初衷——使读者掌握算法设计的基本方法和技巧、打好软件开发的基础,我们就深感欣慰了。 由于作者水平有限,书中不当之处敬请专家和读者指正。 作者2024年4月
more >