高等教育 > 计算机类
算法设计与分析
书号:9787113312947 套系名称:“十四五”高等学校新工科计算机类专业系列教材
作者:杨红云 钟表 出版日期:2024-08-01
定价:45.00 页码 / 开本: /16
策划编辑:曹莉群 责任编辑:曹莉群
适用专业:计算机类 适用层次:高等教育
最新印刷时间:2024-08-01
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书为“十四五”高等学校新工科计算机类专业系列教材之一,根据高等学校计算机科学与技术专业核心课程体系中“算法设计与分析”课程的教学大纲编写。本书采用通俗易懂的语言和经典实例对常用基础算法进行了介绍。全书共八章,包括绪论、蛮力法、分治法、动态规划、贪心法、回溯法、分支限界法和线性规划等。针对各个算法中的经典实例,以问题描述、问题分析、算法设计、算法实现、算法分析为技术路线对问题实例进行了算法分析,并对部分问题实例进行了算法优化。书中部分经典实例以C语言编码实现,以帮助读者提高计算机算法设计与分析的实践能力。 本书适合作为普通高等学校计算机科学与技术专业、软件工程专业或电子信息类等专业教材,也可作为计算机算法爱好者和从事算法设计与分析工作者的参考书。
党的二十大报告提出“加快建设高质量教育体系”“全面提高人才自主培养质量”“着力造就拔尖创新人才”,这为高等学校全面提高人才自主培养质量赋予了新的时代使命。高等学校“信息科技”类课程主要包含数据、算法、网络、信息处理、信息安全、人工智能六大内容,其中,算法是数学的重要分支,是人工智能的底层核心,算法设计与分析能力是信息科技拔尖人才量化评价的关键指标。“算法设计与分析”是高等学校计算机科学与技术专业的核心课程,是学习计算机类专业课的基础,对于培养学生的计算思维和解决问题的能力具有重要意义。面对各个领域的大量实际问题,最重要的是分析问题的性质、建立问题的数学模型并选择高效的解决方法。在当今复杂、海量信息的大数据处理中,一个好的算法往往起着至关重要的作用。 本书根据高等学校计算机科学与技术专业核心课程体系中“算法设计与分析”课程的教学大纲,并结合编者多年的教学经验以及指导“蓝桥杯”“ACMICPC”等算法类竞赛的实践经验编写。本书主要阐述了算法的基础知识、常用基础算法设计技术与分析方法,以帮助读者掌握算法设计与分析的基本技能。 全书分为8章,具体内容如下:第1章主要介绍算法基础知识,包括算法的基本概念、算法的描述方法、算法的设计过程、算法的效率分析及NP问题简介。第2~7章主要介绍蛮力法、分治法、动态规划、贪心法、回溯法和分支限界法等算法设计技术,重点介绍这些算法的基本思想、基本要素、分析方法、伪代码框架等,给出了典型实例问题的算法分析过程以及C语言代码实现,主要包括01背包问题、全排列问题、串匹配问题、快速排序算法、大整数乘法、平面内最近点问题、第k小元素选择问题、最长公共子序列、最大字段和问题、活动安排问题、村村通最小成本问题、单源最短路径问题、迷宫问题、饲料投喂问题等问题;第8章介绍线性规划、单纯形法和整数线性规划等问题的基本理论方法。每章最后提供了习题,并在附录A中给出了每章习题的参考答案,以帮助学生巩固所学知识。 本书编写特点如下: (1)注重实用性。为了解决计算机算法的逻辑性强和编码实现困难等难点,让算法初学者感受算法的独特魅力,本书强调算法设计与分析在解决实际问题中的应用,选取具有典型性和实用性的实例,以着重培养学生的问题解决能力和创新精神。每个实例以“问题描述、问题分析、算法设计、算法实现、算法分析”为技术路线,对每个实例问题的算法逻辑进行分析。书中每个算法思路都采用伪代码描述算法框架,部分经典实例给出了C语言程序代码。 (2)融入课程思政。为落实立德树人根本任务,本书注重课程思政元素的融入,培养学生的爱国主义精神、职业道德和社会责任感,帮助学生树立正确的世界观、人生观、价值观。 (3)配套资源丰富。为了方便教师教学和学生自学,本书配套了微视频、PPT、源代码、习题答案(见附录A)等丰富的立体化资源,读者可至中国铁道出版社有限公司教育资源数字化平台下载(https://www.tdpress.com/51eds/)。 本书由杨红云和钟表担任主编,孙爱珍、熊焕亮、易文龙担任副主编。具体编写分工如下:第1章由杨红云编写,第2、4章由钟表、杨红云共同编写,第3、8章由钟表、熊焕亮共同编写,第5、6、7章由杨红云、孙爱珍和易文龙共同编写。杨红云、钟表负责制定编写大纲,编写习题以及习题答案。全书由杨红云统稿。 江西农业大学软件学院多名教师参与了本书的部分编写和指导工作。除此之外,学院130多名在校生参与了本书的试读工作,他们站在初学者的角度对本书提出了许多宝贵的修改意见,在此一并表示衷心的感谢。 由于编写时间仓促、编者水平有限,书中不足之处在所难免,欢迎读者给予宝贵意见,以便不断改进和完善本书内容。建议意见反馈邮箱:jxauyhy@jxau.edu.cn。 编者 2024年4月
第1章 绪论 1.1算法的基本概念 1.2算法的描述方法 1.3算法的设计过程 1.4算法的效率分析 1.4.1算法时间复杂度分析 1.4.2算法的渐进时间复杂度分析 1.4.3非递归算法的时间复杂度分析 1.4.4递归算法的时间复杂度分析 1.4.5算法空间复杂度分析 1.5关于NP问题 小结 习题 第2章蛮力法 2.1蛮力法概述 2.2蛮力法的设计思想 2.3蛮力法的典型实例 2.3.101背包问题 2.3.2全排列问题 2.3.3串匹配问题 2.3.4图搜索问题 小结 习题 第3章分治法 3.1分治法的基本思想 3.2分治法的特点和基本框架 3.3分治法的时间复杂度分析 3.4分治法的典型实例 3.4.1快速排序算法 3.4.2大整数乘法 3.4.3平面内最近点问题 3.4.4第k小元素选择问题 小结 习题 第4章动态规划 4.1动态规划的提出 4.2动态规划的基本概念 4.3动态规划的基本思想与优化原则 4.4动态规划的典型实例 4.4.1背包问题 4.4.2最长公共子序列 4.4.3最大子段和问题 小结 习题 第5章贪心法 5.1贪心法的基本思想 5.1.1部分背包问题 5.1.2贪心法的基本要素 5.1.3贪心法求解问题的基本步骤和效率分析 5.2贪心法的典型实例 5.2.1活动安排问题 5.2.2村村通最小成本问题 5.2.3单源最短路径问题 5.2.4糖果均分问题 小结 习题 第6章回溯法 6.1深度优先搜索策略 6.1.1深度优先搜索算法基本思想 6.1.2图的深度优先遍历问题 6.1.3迷宫问题 6.2回溯法基本思想 6.2.1解空间树 6.2.2回溯法框架 6.3回溯法的典型实例 6.3.1饲料投喂问题 6.3.2n皇后问题 6.3.3花草种植问题 6.3.4路线选择问题 小结 习题 第7章分支限界法 7.1广度优先搜索策略 7.1.1广度优先搜索算法思想 7.1.2关系网络问题 7.1.3迷宫问题 7.2分支限界法基本思想 7.2.1分支限界方式 7.2.2分支限界法与回溯法的区别 7.2.3剪枝函数 7.2.4分支限界法基本步骤 7.3分支限界法的典型实例 7.3.1装载问题 7.3.2单源最短路径问题 7.3.3八数码问题 小结 习题 第8章线性规划 8.1线性规划模型 8.1.1模型举例 8.1.2图解法 8.2线性规划标准型 8.2.1标准型的基本概念 8.2.2标准型的可行解的概念和性质 8.3单纯形法 8.3.1初始的基可行解的确定 8.3.2最优性检验与解的判别 8.3.3基变换 8.3.4单纯形表 8.4人工变量和两阶段法 8.5退化和循环 8.6线性规划的对偶理论 8.6.1对偶问题的提出 8.6.2对偶理论 8.6.3对偶单纯形法 8.7整数线性规划 小结 习题 附录A习题参考答案 参考文献
杨红云,教授,硕士生导师,江西农业大学软件学院教授,大数据教研室主任,兼任职于江西省高等学校农业信息重点实验室,兼任中国人工智能学会智能农业专委会委员、中国自动化学会与中国计算机学会会员、南方农业学报特邀评审专家、教育部学位中心学位论文评审专家,主要从事软件工程专业的教学和农业信息技术领域科研工作,研究方向包括虚拟农业、机器视觉、机器学习等领域。主讲本科生C语言程序设计、数据结构、算法设计与分析、数字图像处理等课程和研究生课程“大数据数学基础”等。主持国家自然科学基金项目2项,省厅级项目3项;作为主要成员参与国家重点研发计划1项、国家自然科学基金3项、省厅科技项目10余项;指导学生参加算法类等比赛或国家级、省级等奖项50余项;作为参与者获省级教学成果一等奖,参与省级一流本科课程建设项目;作为第一或通讯作者在核心以上学术期刊发表研究论文40余篇;出版专著1部,副主编教材2部。 钟表,江西农业大学软件学院讲师,专业研究方向为大数据应用技术,主要讲授离散数学、算法设计与分析、数据挖掘与分析、应用统计学等课程,积极指导学生参加蓝桥杯、ICPC等各类竞赛并获得国家级、省级奖100余项,发表SCI论文多篇。
(1)注重实用性。本书强调算法设计与分析在解决实际问题中的应用,选取具有典型性和实用性的实例,以着重培养学生的问题解决能力和创新精神。每个实例以“问题描述、问题分析、算法设计、算法实现、算法分析”为技术路线,对每个实例问题的算法逻辑进行分析。书中每个算法思路都采用伪代码描述算法框架,部分经典实例给出了C语言程序代码。 (2)融入课程思政。为落实立德树人根本任务,本书注重课程思政元素的融入,培养学生的爱国主义精神、职业道德和社会责任感,帮助学生树立正确的世界观、人生观、价值观。 (3)配套资源丰富。本书配套了微视频、PPT、源代码、习题答案(见附录A)等丰富的立体化资源。