单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级1中国计算机学会21世纪大学本科计算机专业系列教材算法设计与分析2主要内容介绍第1章算法引论第2章递归与分治策略第3章动态规划第4章贪心算法第5章回溯法第6章分支限界法3主要内容介绍(续)第7章概率算法第8章NP完全性理论第9章近似算法第10章算法优化策略4第1章 算法引论1.1算法与程序1.2表达算法的抽象机制1.3描述算法
Click 3220234算法的时间复杂性为O(n)for(i=0i<ni=i1) {找第i行上最小的元素t及所在列minj 检验t是否第minj 列的最大值是则输出这个鞍点}322023两个经典的递归例题:322023322023f1(n) { while(n>=10) { print( n mod 10) n=
#
陈慧南 编著 南京邮电大学计算机学院 2008年3月求解这一类最优化问题一种可行的做法是不奢望求最优解而设法求与最优解值很接近的可行解称为近似解(approximate solution) 设P是一个最优化问题I是P的一个实例DP是问题P的所有实例的集合对于每个实例I?DPSP(I)是该实例的所有可行解的集合设? ?SP(I)是实例I的一个可行解目标函数fP(?)的值称为?的解值(soluti
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第2章 递归与分治策略 学习要点:理解递归的概念掌握设计有效算法的分治策略通过下面的范例学习分治策略设计技巧(1)二分搜索技术 (2)大整数乘法(3)Strassen矩阵乘法(4)棋盘覆盖(5)合并排序和快速排序(6)线性时间选择(7)最接近点对问题(8)循环赛日程表将要求解的较大规模的问题分割成k个更小规模的子问
#
第十章算法分析与设计读者在学习以前各章的基础上,系统地阅读本章,可对算法的设计和分析技术有一个鸟瞰,以便于将本书所学到的算法归类整理,达到开阔思路,提高观点,增强兴趣的目的。目录101算法分析技术 1011空间代价分析 1012时间代价分析102算法设计技术 1021分治法 1022贪心法 1023动态规划法 1024回溯法 1025分枝界限法与0/1背包问题*101 算法分析技术评价一个
动态规划算法与分治法类似其基本思想也是将待求解问题分解成若干个子问题但是经分解得到的子问题往往不是互相独立的不同子问题的数目常常只有多项式量级在用分治法求解时有些子问题被重复计算了许多次n2n2n2T(n4)完全加括号的矩阵连乘积可递归地定义为:设有四个矩阵 它们的维数分别是:总共有五中完全加括号的方式穷举法:列举出所有可能的计算次序并计算出每一种计算次序相应需要的数乘次数从
找币问题可用动态规划法来求解但还有一种更简单可行的方法先取 2枚 价值= 余=再取 1枚 价值 余-1=不取 0枚 因为> 再取 3枚 价值×3= 余-=0找零完毕得最优解X={ 2 1 0 3 } 共需最少的硬币数6枚在不超余额的前提下每次都找最大面值的硬币这种找币的方法叫做贪心算
回溯算法的基本思想为了避免不必要的搜索算法搜索至解空间树的任意一点时先判断该结点是否包含问题的解如果肯定不包含则跳过对该结点为根的子树的搜索逐层向其祖先结点回溯否则进入该子树继续按深度优先策略搜索 回溯法的算法框架2.回溯法的基本思想以n=3时的0-1背包为例考虑如下实例:w=[161515]p=[452525]c=30从其解空间树的根结点开始搜索其解空间开始时根结点A是唯一的活结点也是当前扩展结
违法有害信息,请在下方选择原因提交举报