算法合集之《减少冗余与算法优化》.ppt
《算法合集之《减少冗余与算法优化》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《减少冗余与算法优化》.ppt(26页珍藏版)》请在三一办公上搜索。
1、湖南省长沙市长郡中学 胡伟栋,减少冗余与算法优化,减少冗余与算法优化,要提高算法的效率,必须减少算法中的冗余,算法的目标:,用最少的时间解决问题,最高的效率,冗余:,多余的或重复的操作,高效率,在搜索、递推、动态规划中,都可能出现冗余,例1:整数拆分问题描述,将整数N拆分成若干个整数的和,要求所拆分成的数必须是2的非负整数幂的形式。问有多少种拆分方案?如果两个方案仅有数的顺序不同,则它们算作同一种方案。,当N=5时,可以拆分成下面的形式:5=1+1+1+1+15=1+1+1+25=1+2+25=1+45有4种拆分方案。,例1:整数拆分样例,例1:整数拆分递推的建立,用Fi,j表示 i 拆分成若
2、干个数,其中最大的数不超过2 j的拆分方案数。,递推方程:,递推的表示:,目标:,最大数是,最大数小于,(初始值),例1:整数拆分递推复杂度,复杂度:,时间复杂度:,O(Nlog2N),空间复杂度:,O(Nlog2N),1iN 1j,M=3,N=8,BFi,j-1,AFi,j,例1:整数拆分,当N=2M(M是非负整数)时,实际要计算的点数:,1+2+22+23+24+2M-1=2M-1=N-1,Fi,j,i,j,递推中的冗余,1=20,2=21,4=22,C,当 j=M-k 时,第 j 行要计算的点数为 2k。,例1:整数拆分减少冗余,当N=2M(M是非负整数)时,当 i=x 时,第 i 列要
3、计算的点数与 x 的二进制表示中最末的 0 的个数相等,1 2,10 2,11 2,100 2,101 2,110 2,111 2,1000 2,时间复杂度:,O(N),每列要计算的点是最下方连续的若干个点,需要计算的点,已知点,不必求出的点,例1:整数拆分减少冗余,当N=2M(M是非负整数)时,在所有 Fx,j(j一定,x为变量)中,只要存储 x 最大的一个即可。,空间复杂度:,O(log2N),例1:整数拆分减少冗余,当N2M时,,可转化成N=2M的形式求解,例1:整数拆分减少冗余,设N=2M-r(2M-1N2M),0,0,0,0,0,0,0,r,目标,FN,M-1,FN,M,例1:整数拆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 减少冗余与算法优化 算法 减少 冗余 优化
链接地址:https://www.31ppt.com/p-6596877.html