新書推薦:
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
291.2
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
177.0
|
編輯推薦: |
本书简要介绍算法设计、分析和优化的基础知识,重点放在算法设计方法介绍上,通过大量的典型例题讲解了常用算法设计方法:求值法,累加法,累乘法,递推法,递归法,枚举法,分治法,贪心法,回溯法和动态规划法,并对算法设计的数学模型、技巧和优化做了讲解。本书可以作为高等院校计算机及其相关专业本科生和研究生算法设计课程的教材,也适合IT技术人员学习参考。
本书的内容选材适当,循序渐进,互相衔接,逐步展开,具有系统性、实用性和扩展性。
(1)系统性。本书在对算法概述的基础上,系统地讲解了常用算法设计方法:求值法,累加法,累乘法,递推法,递归法,枚举法,分治法,贪心法,回溯法和动态规划法,并对算法设计的数学模型、技巧和优化做了讲解。
(2)实用性。本书选材新颖,方法实用,题例丰富,取舍得当。采用C语言作为算法描述手段,简明、清晰,便于上机实践。书中提供了大部分算法的C程序和伪码算法,尽量使算法的描述做到从算法到程序设计逐步求精。
(3)扩展性。为了加深对算法设计方法的理解,扩展读者的知识面,书的每章均配有难易适当习题,以适应不同程度读者学习需要。最后一章综合应用实例,可使读者既系
|
內容簡介: |
本书简要介绍了算法设计、分析和优化的基础知识,并重点讲解了算法设计方法。书中先结合大量的典型例题分别讲解常用的10种算法设计方法——求值法、累加法、累乘法、递推法、递归法、枚举法、分治法、贪心法、回溯法和动态规划法,最后通过实例给出算法设计的综合应用。每个例题都从问题描述、问题分析、算法说明、算法设计、运行结果和算法优化6方面讲解。 本书结合实例、内容丰富、深入浅出、结构清晰,可以作为高等院校计算机及相关专业本科生和研究生算法设计课程的教材,也适合IT从业人员和计算机编程爱好者学习参考。
|
目錄:
|
第1章算法概述1
1.1算法与问题求解1
1.1.1算法的定义1
1.1.2问题求解2
1.2算法的要素和特性3
1.2.1算法的要素3
1.2.2算法的基本特性4
1.3算法的描述5
1.3.1基本控制结构的描述5
1.3.2C算法描述约定7
1.4算法分析9
1.4.1算法的评价标准9
1.4.2算法的时间复杂度10
1.4.3算法的空间复杂度11
1.5算法的优化12
1.5.1全局优化12
1.5.2局部优化13
1.5.3算法优化中的注意事项14第2章求值法17
2.1算法设计思想17
2.2典型例题17
2.2.1求最大值17
2.2.2求平均分20
2.2.3判断闰年22
2.2.4素数23
2.2.5孪生数25算法设计方法与优化(第2版)目录2.2.6巧排螺旋阵27
2.2.7计算器31
2.3小结34
习题34第3章累加法37
3.1算法设计思想37
3.2典型例题37
3.2.1自然数求和37
3.2.2自然数倒数求和39
3.2.3统计及格人数40
3.2.4计算π值43
3.2.5数位求和44
3.2.6小鱼游泳问题47
3.2.7判断天数49
3.3小结51
习题51第4章累乘法55
4.1算法设计思想55
4.2典型例题55
4.2.1求n的阶乘55
4.2.2除自身相乘56
4.2.3求阶乘之和59
4.2.4大整数阶乘61
4.2.5国王奖赏问题63
4.2.6计算e值65
4.3小结68
习题68第5章递推法71
5.1算法设计思想71
5.2典型例题72
5.2.1兔子繁殖问题72
5.2.2最大公约数问题74
5.2.3猴子吃桃问题76
5.2.4杨辉三角形问题77
5.2.5伯努利装错信封问题80
5.2.6分西瓜问题84
5.3小结85
习题86第6章递归法89
6.1算法设计思想89
6.2典型例题89
6.2.1母牛繁殖问题89
6.2.2输出各位数字 91
6.2.3最大值问题93
6.2.4求数根95
6.2.5数组逆置97
6.2.6汉诺塔问题100
6.3小结101
习题102第7章枚举法105
7.1算法设计思想105
7.2典型例题105
7.2.1百鸡问题105
7.2.2水仙花数108
7.2.3完数110
7.2.4可逆素数112
7.2.5钱币兑换问题115
7.2.6求数值平衡数117
7.2.7狱吏问题120
7.3小结122
习题122第8章分治法125
8.1算法设计思想125
8.2典型例题125
8.2.1折半查找125
8.2.2金块问题127
8.2.3美好字符串130
8.2.4归并排序135
8.2.5大整数乘法139
8.2.6逆序数141
8.3小结143
习题143第9章贪心法147
9.1算法设计思想147
9.2典型例题148
9.2.1找零钱问题148
9.2.2最优装载151
9.2.3平衡字符串155
9.2.4小明的糖果158
9.2.5埃及分数问题160
9.2.6多机调度问题164
9.3小结167
习题168第10章回溯法171
10.1算法设计思想171
10.2典型例题172
10.2.1八皇后问题172
10.2.2部分和176
10.2.3桥本分数式178
10.2.4高逐位整除数182
10.2.5直尺刻度分布问题185
10.2.6素数环问题188
10.3小结192
习题193第11章动态规划法195
11.1算法设计思想195
11.2典型例题196
11.2.1数塔问题196
11.2.2零钱兑换问题200
11.2.3最长公共子序列问题202
11.2.4最长上升子序列问题206
11.2.5聪明的杰瑞210
11.3小结214
习题214第12章综合应用219
12.1上楼梯219
12.2π值求法222
12.3最大正方形226
12.4最大子段和问题232
12.5背包问题239
习题249
思政材料
|
內容試閱:
|
一些著名的计算机科学家在有关计算机科学教育的论述中认为,计算机科学是一种创造性的思维活动,其教育必须面向设计。算法被公认为是计算机科学的基石。因此,算法设计这门课在计算机科学与技术学科中占核心地位。学会读懂算法、设计算法是计算机专业学生的一项最基本的要求。通过对计算机算法系统的学习与研究,理解和掌握算法设计的主要方法,培养对算法优化和分析的能力,将为运用计算机解决实际问题奠定坚实的基础。
计算机解决问题的核心是算法设计,算法设计的关键是掌握一些常用的算法设计方法和抽象的计算思维方式。
在本书各章的讨论中,首先介绍一种算法设计方法的基本思想,然后运用该算法设计方法解决经典问题,并给出用C语言描述的具体算法。通过比较各种算法设计方法在求解不同问题中的应用,牢固掌握算法设计技术的基本策略;通过比较不同算法设计方法在同一问题上的应用,更深刻体会算法设计方法的思想,锻炼逻辑思维能力,达到融会贯通的效果。
全书共分为12章。第1章简要介绍了算法设计、分析和优化的基础知识,第2~11章系统讲解了10种常用的算法设计方法,分别为求值法、累加法、累乘法、递推法、递归法、枚举法、分治法、贪心法、回溯法和动态规划法,第12章是算法设计综合应用。
本书的第1、12章由滕国文执笔;第2、3章由宫耀勤执笔;第4、5章由李闯执笔;第6、11章由滕泰执笔;第7、8章由丛飚执笔;第9、10章由张伟执笔。2010级学生(张天骥、徐悦、姜波、张丽、杨昌宇、周凯、李金刚、张梦琳、罗春龙、王琪、曹宇和李少军)和硕士研究生(滕硕、董亚群、刘洋、张菁、曾轩、肖春英和张雷)参与了部分代码编写和程序调试工作,夏凤琴、温毓铭和2010级部分学生参与了书稿的校对工作,作者在此一并致以诚挚的谢意!全书由滕国文教授统稿、审阅和整理后定稿。在本书的编写过程中,作者参阅并借鉴了国内外诸多同行的文章和著作,这里不一一列举、标明,在此谨致以谢意!
由于作者水平有限,加之学科理论与技术发展日新月异,因此书中疏漏、谬误之处在所难免,恳请广大读者指正。
作者2013年6月
|
|