





定价:49.8元
印次:1-2
ISBN:9787302627999
出版日期:2023.06.01
印刷日期:2024.08.09
图书责编:龙启铭
图书分类:教材
本书主要介绍经典的算法设计技术,包括递归与分治策略、动态规划法、贪心算法、回溯法、分支限界法、概率算法等。在算法分析方面,介绍了二分搜索技术、大整数的乘法、Strassen矩阵乘法、棋盘覆盖、合并排序、快速排序、循环赛日程表、矩阵连乘问题、最长公共子序列、凸多边形**三角剖分、多边形游戏、图像压缩、活动安排问题、**装载、哈夫曼编码、最小生成树问题、套利问题、n皇后问题、图的m着色问题、15谜问题、单源最短路径问题、旅行商问题等,并对有的问题进行算法优化设计。书中主要突出对问题本身的分析和求解方法,并进行了问题的计算复杂性分析。本书每章均精选了一些基础的算法习题,针对各章节不同的算法设计技术设计了多个上机实验,并提供多套自测试卷,有助于学生了解自己对学习内容的掌握程度,自测学习效果。 本书可作为大学计算机科学与技术、软件工程等专业本科生的教学用书,也可作为从事实际问题求解的算法设计与分析工作人员的参考书。
李少芳 单位:莆田学院机电与信息工程学院 职务、职称:副教授 性别:女 年龄:491995年入职以来一直从事计算机专业基础课、专业课的一线教学工作,主讲的课程包括《Access数据库与程序设计》、《C语言程序设计》、《C语言程序设计课程设计》、《程序设计基础》、《C/C++工程技能实习》、《Java程序设计》、《Java程序设计与应用》、《Java程序设计课程设计》、《算法设计与分析》、《面向对象程序设计(C++)》、《C++语言》、《VC》、《面向对象可视化程序设计》等。从2001年起从事算法课程的教学,研究方向计算机算法,人工智能应用基础,多Agent系统。已主编出版《面向对象程序设计与MFC编程案例教程》、《面向对象程序设计与MFC编程实验指导》、《C语言程序设计基础教程》和《C语言程序设计习题与实验指导》。目前已在计算机中文核心刊物及大学学报上发表论文20多篇,2011年曾在《计算机研究与发展》上发表论文《一种基于势结构分组思想的任一时间联盟结构生成》。
前言 算法设计与分析是高等学校计算机专业的核心课程。该课程是学习其他专业课的基础,也有利于培养学生的计算思维和求解问题的能力。面对各个应用领域的大量实际问题,最重要的是分析问题的性质并选择正确的求解思路,即找到一个好的算法。特别是在当今复杂、海量信息的大数据处理中,一个好的算法往往起到决定性的作用。 本书针对实际问题需求,分析问题并选择高效求解算法,进行问题的计算复杂性分析,为提高学生的素质和创新能力打下坚实的基础。本书主要介绍算法的基础知识、经典的算法设计技术与分析方法。算法的基础知识部分主要介绍算法相关的基本概念,如什么是算法、算法的表示、算法最坏情况下和平均情况下的时间复杂度、算法时间复杂度函数的主要性质、算法复杂度表示等。经典的算法设计技术与分析方法部分主要介绍递归与分治策略、动态规划法、贪心算法、回溯法、分支限界法、概率算法等算法设计技术,重点介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。在算法分析方面,介绍了二分搜索技术、大整数的乘法、Strassen矩阵乘法、棋盘覆盖、合并排序、快速排序、循环赛日程表、矩阵连乘问题、最长公共子序列、凸多边形最优三角剖分、多边形游戏、图像压缩、活动安排问题、最优装载、哈夫曼编码、最小生成树问题、套利问题、n皇后问题、图的m着色问题、15谜问题、单源最短路径问题、旅行商问题等,并对有的问题进行算法优化设计。 本书是面向高等院校计算机及相关专业的一本算法入门基础教材,主要涉及算法的设计、分析与优化途径。本书中的算法采用C语言或C++语言描述和实现。全书针对算法初学者的特点,在内容安排上力求通俗易...
第1章算法概述/1
1.1什么是算法1
1.2算法复杂性2
1.3算法复杂性计量3
1.4算法复杂性的表示4
1.4.1算法复杂性的渐近性态4
1.4.2复杂性渐近阶5
1.4.35个渐近意义下的记号 5
1.4.4常见的算法时间复杂度6
1.5算法复杂性的重要性7
习题18
第2章递归与分治策略 /11
2.1递归的概念11
2.2分治法的基本思想16
2.3二分搜索技术18
2.3.1线性查找18
2.3.2二分搜索法18
2.3.3二分搜索算法复杂性最坏情形分析19
2.3.4二分搜索算法复杂性平均情形分析20
2.4大整数的乘法20
2.4.1大整数乘积的分治算法描述20
2.4.2大整数乘积的时间复杂度递推方程21
2.5Strassen矩阵乘法21
2.5.1Strassen矩阵分治乘法21
2.5.2时间复杂度递推方程22
2.6棋盘覆盖问题22
2.6.1问题描述22
2.6.2算法复杂性分析25
2.7合并排序25
2.7.1基于比较的排序时间复杂度下界25
2.7.2用递归树解递归关系式26
2.7.3合并排序27
2.8快速排序30
〖1〗算法分析与设计目录〖3〗〖3〗2.8.1算法描述30
2.8.2时间复杂度分析32
2.9循环赛日程表安排32
2.9.1问题描述32
2.9.2问题的分治法设计思想33
2.9.3分治算法实现33
习题234
第3章动态规划法/41
3.1动态规划法概述41
3.1.1最优性原理41
3.1.2动态规划法的基本步骤41... 查看详情