×
暂无评论
图文详情
  • ISBN:9787302681267
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:0
  • 出版时间:2025-02-01
  • 条形码:9787302681267 ; 978-7-302-68126-7

本书特色

本书第1版被评为普通高等教育“十一五”国家级规划教材。
前4版累计印刷30余次,深受读者好评。
力争浅显易懂地讲解较深奥的算法设计策略和算法分析方法。
书中的例题选择力求简单但具有代表性,从分析问题开始,经模型建立,再进行算法设计(包括数据结构设计)和算法分析。
注重培养学生“设计”算法的能力,而不是“记忆” 算法的能力。


内容简介

"本书内容遵循2020年发布的《ACM/IEEE计算课程体系规范》(Computing Curricula,CC)即CC2020,采用“计算”一词作为计算机工程、计算机科学和信息技术等所有计算机领域的统一术语。本书主要介绍算法及其设计、分析的基础知识,并通过大量例题,讲解枚举法、递推法、分治法、贪婪算法、动态规划及与图搜索有关的算法策略。除此之外,还讲解了算法设计基本工具的使用和算法设计中的技巧。*后通过案例的一题多解进行算法设计的实践。算法描述采用了接近自然语言(英语)的符号,可读性强,适合不同程序设计语言背景的读者学习。 本书可作为高等院校计算机及相关专业高年级本科生和研究生“算法设计”课程的教材,也可作为计算机工作者、广大程序设计爱好者和信息学爱好者的参考书。 "

前言

党的二十大报告指出: “推动战略性新兴产业融合集群发展,构建新一代信息技术、人工智能、生物技术、新能源、新材料、高端装备、绿色环保等一批新的增长引擎。”因此这一版应用篇中增加了第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月

 

 

目录

第1篇引入篇

第1章算法概述
1.1用计算机求解问题与算法

1.1.1用计算机求解问题的步骤

1.1.2算法及其要素和特性

1.1.3算法设计及基本方法

1.2算法设计步骤及描述

1.2.1算法描述简介

1.2.2本书算法描述约定

1.2.3一个简单问题的求解过程

1.2.4从算法到程序

1.3现代常用算法概览

1.3.1数据压缩及算法

1.3.2数据加密及算法

1.3.3人工智能及算法

1.3.4并行计算及算法

1.3.5搜索引擎及算法

第2章算法分析基础

2.1算法分析体系及计量

2.1.1算法分析的评价体系

2.1.2算法的时间复杂性

2.1.3算法的空间复杂性

2.2算法分析实例

2.2.1非递归算法分析

2.2.2递归算法分析

2.3提高算法质量

2.4问题复杂度及分类

2.4.1问题时间复杂度的上界和下界

2.4.2NP完全问题


第2篇基础篇

第3章算法基本工具和优化技巧
3.1循环与递归

3.1.1循环设计要点

3.1.2递归设计要点

3.1.3递归与循环的比较

3.2算法与数据结构

3.2.1原始信息与处理结果的对应存储

3.2.2数组使信息有序化

3.2.3数组记录状态信息

3.2.4高精度数据存储及运算

3.2.5构造趣味矩阵

3.2.6一维与二维的选择



3.3优化算法的基本技巧

3.3.1算术运算的妙用

3.3.2标志量的妙用

3.3.3信息数字化

3.4优化算法的数学模型

3.4.1杨辉三角形的应用

3.4.2*大公约数的应用

3.4.3公倍数的应用

3.4.4斐波那契数列的应用

3.4.5特征根求解递推方程

习题

第3篇核心篇

第4章基本的算法策略
4.1迭代算法

4.1.1递推算法

4.1.2倒推算法

4.1.3用迭代算法解方程

4.2蛮力法

4.2.1枚举法

4.2.2其他范例

4.3分而治之算法

4.3.1分而治之算法框架

4.3.2典型二分法

4.3.3二分法的相似问题

4.3.4二分法的独立问题

4.3.5二分法的归并问题

4.3.6非等分分治

4.4贪婪算法

4.4.1可绝对贪婪问题

4.4.2相对或近似贪婪问题

4.4.3贪婪算法设计框架

4.5动态规划

4.5.1认识动态规划

4.5.2动态规划算法设计框架

4.5.3突出阶段性的动态规划应用

4.5.4突出递推的动态规划应用

4.6算法策略间的比较

4.6.1不同算法策略特点小结

4.6.2算法策略间的关联

4.6.3算法策略侧重的问题类型

习题

第5章图的搜索算法

5.1图搜索概述

5.1.1图及其术语

5.1.2图搜索及其术语

5.2广度优先搜索

5.2.1广度优先算法框架

5.2.2广度优先搜索的应用

5.3深度优先搜索

5.3.1深度优先算法框架

5.3.2深度优先搜索的应用

5.4回溯法

5.4.1认识回溯法

5.4.2回溯算法框架

5.4.3应用1——基本的回溯搜索

5.4.4应用2——排列及排列树的回溯搜索

5.4.5应用3——*优化问题的回溯搜索

5.5分支限界法

5.5.1分支搜索算法

5.5.2分支限界搜索算法

5.5.3算法框架


5.6图的搜索算法小结

习题

第4篇应用篇

第6章概率算法
6.1概述

6.2统计模拟

6.2.1数值计算方法

6.2.2考虑正确概率的算法——蒙特卡罗算法

6.3随机序列提高算法的平均复杂度——舍伍德算法

6.4随机生成答案并检测答案正确性——拉斯维加斯算法

第7章自然语言处理及算法

7.1中文分词中的算法

7.1.1中文分词概述

7.1.2基于词表的分词算法

7.2词性标注中的算法

7.2.1词性标注概述

7.2.2基于转换的错误驱动的词性标注方法

7.3命名实体识别中的算法

7.3.1命名实体识别概述

7.3.2基于CRF的命名实体识别算法

7.4中文信息处理中的语义应用

7.4.1语义知识概述

7.4.2语义知识库介绍

7.4.3语义应用步骤

习题

第8章算法设计实践

8.1循环赛日程表(4种)

8.2求3个数的*小公倍数(4种)

8.3猴子选大王(4种)

8.4*大子段和问题(5种)

8.5背包问题(11种)

8.5.1与利润无关的背包问题

8.5.2与利润有关的背包问题

8.6主元素问题(5种)

附录“算法设计与分析”课程设计大纲

参考文献


展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航