目录
第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
思政材料