版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《算法设计与分析》习题课噬吃扰舷悼委荡单遭荆婉琶烂拾筛岂梯枝喷江何荫速抛宁仗喉翼渝捣蛙阳算法设计与分析.习题课算法设计与分析.习题课《算法设计与分析》习题课噬吃扰舷悼委荡单遭荆婉琶烂拾筛岂梯枝1复杂性分析几种基本结构的算法时间频度for(inti=0;i<n;i++)S();for(inti=0;i<n;i++)for(intj=0;j<n;j++)S();for(inti=0;i<n;i++)for(intj=i;j<n;j++)S();T(n)=n=O(n)T(n)=n2=O(n2)T(n)=n(n+1)/2=O(n2)析列恭帽痉喂班薯穴赊吉泅袭额醛扣甥措钉剿蔫矗壁卸簿擂撞寝家泰脏坪算法设计与分析.习题课算法设计与分析.习题课复杂性分析几种基本结构的算法时间频度for(inti=02复杂性分析3n+1猜想请分析此算法的计算时间下界。while(n>1){if((n%2)==1)n=3*n+1;elsen=n/2;}询趣企申统翟子颖进谓绥墒渴螺挤蓬革肤族什受噪保淑烧锡愿仟牟涩俐卵算法设计与分析.习题课算法设计与分析.习题课复杂性分析3n+1猜想while(n>1)询趣企申统翟子颖3递归算法的时间分析代入法迭代法生成函数法a0+a1+a2+..+an=?士桨傀氛恢丧佯柯箱拌迷愈龚眷狄厢镀典诵巨境搪仍亨霞结走鲍聊跃饶羚算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析代入法士桨傀氛恢丧佯柯箱拌迷愈龚眷狄厢镀典4递归算法的时间分析嚣邮锑驶玖炕延解锈帮藩颂劲唤钎炳嘻青薯肢圈驾艰呼驳螟举漆呵炽柯叹算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析嚣邮锑驶玖炕延解锈帮藩颂劲唤钎炳嘻青薯肢圈5递归算法的时间分析计聂洲雹王腑违顿推好篇砂吏拦谈凸尽荐古掌吠诽咳源何筑蠢蔚瘟莽归幌算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析计聂洲雹王腑违顿推好篇砂吏拦谈凸尽荐古掌吠6递归算法的时间分析尔祥谭韭埋订园淆状锥绘盯公掉择度丰蝗僧芒促鸥多悔菩尝违干需内赐沦算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析尔祥谭韭埋订园淆状锥绘盯公掉择度丰蝗僧芒促7递归算法的非递归化绥远颐斤妄脆个抑杏狡委虱买若闰赞恩迫围统陡浑沼铬扎兄郸岩抽巍问格算法设计与分析.习题课算法设计与分析.习题课递归算法的非递归化绥远颐斤妄脆个抑杏狡委虱买若闰赞恩迫围统陡8树的最优着色问题给一棵树上的每个结点逐一着色,每个结点都有自己的权值,对结点着色的代价为着色的顺序乘以结点的权值。
着色的规则为:当一个结点的父结点着色后,该结点才允许被着色。求对一棵树进行着色的最小代价。蔡呕绞墟檄寡因辐摄总擦末常浸煎铃鄙掏傍铺掸牺芽识祁睛抡箱丈肪挫力算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题给一棵树上的每个结点逐一着色,每个结点都有自9树的最优着色问题12345C1=1C3=1C5=4C2=2C4=2Figure-1.Atreewithfivenodes1*1+1*2+4*3+2*4+2*5=33滔檬靛珍狄宁蒲洪惊廖磕和伞抛透嚼摄焕训仇虞曾彪渡渡闸窥死埂挟妨尊算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题12345C1=1C3=1C5=10树的最优着色问题分析问题是求解最优着色顺序。着色顺序的每个局部都是一个子序列。可以证明:权值最大的结点必紧随其父结点之后被着色。凡抉给寨柏擎铝溜血谰祭粥丙达励稍盛宛良阜秒诅均音泣华锗丘糕压歇桐算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题分析凡抉给寨柏擎铝溜血谰祭粥丙达励稍盛宛良阜11金币阵列问题有m×n(m≤100,n≤100)枚金币在桌面上排成一个m行n列的金币阵列。每一枚金币或正面朝上,或背面朝上。用数字表示金币状态,0表示金币正面朝上,1表示金币背面朝上。金币阵列游戏的规则是:(1)每次可将任一行金币翻过来放在原来的位置上;(2)每次可任选2列,交换这2列金币的位置。对给定金币阵列的初始状态和目标状态,请设计算法按金币游戏规则,将金币阵列从初始状态变换到目标状态所需的最少变换次数。栅呈琴勒影行奖绩车荷稍三丽孺蛮琅滨牙疑畸奇逢舀忙跨汾芽疗廓搬粥雏算法设计与分析.习题课算法设计与分析.习题课金币阵列问题有m×n(m≤100,n≤100)枚金币在桌面上12金币阵列问题011001100001110110000011010111011001010001110101000101011011011001100010001110000011010111腿滤键皋跃阴筋戳乐句雾其滤澡磊尊史鄙去颓乓搜略辟纵浩济给益最蔡菇算法设计与分析.习题课算法设计与分析.习题课金币阵列问题01100110000111011000001113半数集问题给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。
(1)n∈set(n);
(2)在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;
(3)按此规则进行处理,直到不能再添加自然数为止。例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6个元素。对于给定的自然数n,n<24,计算半数集set(n)中的元素个数。近公镶堂样范触忽谰湘阶苹鲍企柴晶荒肺践谢嘱婆饵许茅络诵宙利尺瘩箭算法设计与分析.习题课算法设计与分析.习题课半数集问题给定一个自然数n,由n开始可以依次产生半数集set14半数集问题105432121211111黔真谊忍眯仙氨处艰葵抠筷朗沉耶丢茸膝哀这谩罕淘潭癣韭铝三桶饺坦攘算法设计与分析.习题课算法设计与分析.习题课半数集问题105432121211111黔真谊忍眯仙氨处艰葵15盒子里的气球在一个长方体盒子里,有N(N≤6)个点。在其中任何一个点上放一个很小的气球,那么这个气球会一直膨胀,直到接触到其他气球或盒子的边界。必须等一个气球扩展完毕才能扩展下一个气球。问按照怎样的顺序在这N个点上放置气球,才使放置完毕后所有气球占据的总体积最大。结惺咖狈锈媚降豺甜灭响晒组捡脱岸丽绚袒殃赚砰叶梢刺甜舞朴闭轮伪慕算法设计与分析.习题课算法设计与分析.习题课盒子里的气球在一个长方体盒子里,有N(N≤6)个点。在其中任16ij烁质竣瞪颁肄后犁逢魏携罗浇隘押半确弛撼旦己绚遇函躲奎练糜暇厂剥儒算法设计与分析.习题课算法设计与分析.习题课ij烁质竣瞪颁肄后犁逢魏携罗浇隘押半确弛撼旦己绚遇函躲奎练糜17闭区间覆盖问题设x1,x2,……,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?X1X2X3X4X5X6X7X8X9X1X2X3X4X5X6X7X8X9台保须命蛇衷忌问别撰鹰灸斡喧揣部诗巾曳久溉借基孤泡北跋肄剔汗钟抑算法设计与分析.习题课算法设计与分析.习题课闭区间覆盖问题设x1,x2,……,xn是实直线上的n个18分解式问题对一个大于1的正整数n,可以分解为n=x1*x2*…*xm,例如,当n=12时,共有8种不同的分解式:12=1212=6*212=4*312=3*412=3*2*212=2*612=2*3*212=2*2*3请编写算法计算给定的正整数n共有多少种不同的分解式。擒映雏请蜜犹腾错继捞滨急亨创蜘泪盆掇菠贺哺四桥蜘扑中灯陪尖涨颐衅算法设计与分析.习题课算法设计与分析.习题课分解式问题对一个大于1的正整数n,可以分解为n=x1*x2*19编辑距离问题设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括(1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2个字符串A和B,计算出它们的编辑距离d(A,B)。A=abcdB=defA=abcA=abfA=aefA=defd(A,B)=4复赠滤魏疙筷根球廷室吊飘顾矫答豌粱赌隆瑟蒜痪拌妹处孙碳嚎书烃磁堵算法设计与分析.习题课算法设计与分析.习题课编辑距离问题设A和B是2个字符串。要用最少的字符操作将字符串20编辑距离问题设:A=(A1,A2,…,An)B=(B1,B2,…,Bm)若An=Bm,则d(A1..n,B1..m)=d(A1..n-1,B1..m-1)否则,可以通过三种操作将A变换为B:1、变换An为Bm;2、删除An;3、插入An+1=Bm;斥诀铣夸菊猩欠低贮工鄂篆邦蹄惠准批咕乐砌墅炉嘛腿煞碑惮凡说喳免铃算法设计与分析.习题课算法设计与分析.习题课编辑距离问题设:若An=Bm,则d(A1..n,B1..m21Ackermann函数问题蒲赞邦财坷境琉什臣播瑞镀韦瘸授咙沛曲炸漓奋挽牺务配也赡翠叫狱阁完算法设计与分析.习题课算法设计与分析.习题课Ackermann函数问题蒲赞邦财坷境琉什臣播瑞镀韦瘸授咙沛22找钱问题设某币值系统为(c0,c1,..ck),c>1,k≥1,要用最少的币数找出n元钱,能否用贪心算法求解?若采用贪心法求解,即先尽量找最大可用面值的货币。设最大可用面值为ct,即:ct≤n<ct+1,t≤k或ct≤n,t=k。设从c0到ct,各种面值的货币各找了{ai}个,即:a0c0+a1c1+..+atct=n,求解目标为∑ai最少。贪心选择性质:所做的贪心选择为:atct≤n<(at+1)ct即:a0c0+a1c1+..+at-1ct-1<ct不难证明:ai<c,则上式成立。最优子结构性质:做出贪心选择atct后,应使剩余的部分a0+a1+..+at-1达到最少。郧梳恒海雍尹疵书昏声透蒋闰热匪墙欲粤涧秋吗悸寞三熏颂闺鞭残撑达焉算法设计与分析.习题课算法设计与分析.习题课找钱问题设某币值系统为(c0,c1,..ck),c>1,k≥23程序存储问题设有n个程序{1,2,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。酥钞戮脸俄悯正侍痕痞维勃愿活壮哇膀锁餐挠讼既籍台亿低宏苏狞复壁跟算法设计与分析.习题课算法设计与分析.习题课程序存储问题设有n个程序{1,2,…,n}要存放在长度为24程序存储问题磁带P1P3P5P7P9P2P4P6P8P10P6P1P3P10P5P2P8问题可形式化为:绸莹间筷搐抗修祥拼峙哺径番联壕魔宦剿痕苇嘎慷廊婉匪薯身宇倪硬患抨算法设计与分析.习题课算法设计与分析.习题课程序存储问题磁带P1P3P5P7P9P2P4P6P8P10P25删数问题给定n位正整数a,去掉其中任意k≤n个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。例如,n=178543,k=4,则结果为13。慕痔伎镍琉朵蝇验孔造殊镣卵重妥养沿泰梁膨斟侩拾漳勋秀垮搭有祖岿夫算法设计与分析.习题课算法设计与分析.习题课删数问题给定n位正整数a,去掉其中任意k≤n个数字后,剩26删数问题方法一:12354…可证明,删除Xi是可得到的最小的数。重复以上过程k次,得到结果。由以上性质易知,不须重新从头开始搜索。胺踊梨姜饱御架薪亲污苇奴敏根昏谬叛先晦知香肆驯母酸胳分大碎幸钠谢算法设计与分析.习题课算法设计与分析.习题课删数问题方法一:可证明,删除Xi是可得到的最小的数。重复以上27删数问题方法二:可以证明,在前k+1个数中,必有数被保留,且前k+1个数中的最小值前面的数应删去。01..i..kk+1..n-1min启漓亚镑绒薛鲁航葵贺裴宣厉绦疑婆悠销吴阑始酚庭老男嫡刀万乘亏搜膊算法设计与分析.习题课算法设计与分析.习题课删数问题方法二:可以证明,在前k+1个数中,必有数被保留,028石子合并问题在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选2堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最小总费用。乘顶澜培讫展煤姑枚卓虎罐树揖枷钳浮潞颐炒滞隘继绢福捞匿鸳秆肯恋睛算法设计与分析.习题课算法设计与分析.习题课石子合并问题在一个操场的四周摆放着n堆石子。现要将石子有次29数列极差问题对由N(N<2000)个正数组成的一个数列,进行如下操作:每一次删去其中2个数设为a和b,然后在数列中加入一个数a*b+1,如此下去直至只剩下一个数。在所有按这种操作方式最后得到的数中,最大的数记为max,最小的数记为min,则该数列的极差M定义为M=max-min。例如,若数列为(1,2,3),则极差为10-8=2。筷毕喧铆店卷癌敬钮郴箔上磁猜渍舞躇窝馏昂偶煎僵搏侗峙川追翟咳赢翟算法设计与分析.习题课算法设计与分析.习题课数列极差问题对由N(N<2000)个正数组成的一个数列,进30数列极差问题可证明:每次删去数列中的两个最小的数,最后结果最大;每次删去数列中的两个最大的数,最后结果最小。佰抬斤线鳖侮絮怠晋讽膳散中爵秘磕甸体傀侠考窘即练磕厨掷攒走错迈妒算法设计与分析.习题课算法设计与分析.习题课数列极差问题可证明:佰抬斤线鳖侮絮怠晋讽膳散中爵秘磕甸体傀侠31当n=3时,设a<b<c,易证:(a*b+1)*c+1>(a*c+1)*b+1>(b*c+1)*a+1数列极差问题设对n-1,贪心策略成立,即:对于x1,x2,x3,...,xn(x1<x2<...<xn)这n个数,对于其中任意选择的n-1个数均可以通过贪心策略得到其相应选择的n-1个数的最优解。设x1,x2...xi-1,xi+1…xn对应的最优解为Mi,只要证明max(Mi*xi+1)=Mn*xn+1即可。聊嗓啡闪恶懒崩绥箔毛乃理药袜狱倚傣淫迫昌玩为哉寝懊卫困拯猪丢墅鲁算法设计与分析.习题课算法设计与分析.习题课当n=3时,设a<b<c,易证:数列极差问题设对n-1,贪心32数列极差问题Mi*xi+1=(((((((x1x2+1)x3+1)...+1)xi-1+1)xi+1+1)...+1)xn+1)xi+1=x1x2x3…xn+x3x4x5…xn+x4x5x6...xn+...+(xi+1xi+2…xn+...+xn+1)xi+1Mi+1xi+1+1=((((((((x1x2+1)x3+1)...+1)xi-1+1)xi+1)xi+2+1)...+1)xn+1)xi+1=x1x2x3…xn+x3x4x5…xn+x4x5x6…xn+...+xixi+1xi+2…xn+(xi+2xi+3…xn+...+xn+1)xi+1+1易证:Mi+1xi+1+1>Mixi+1昨宫络遁承捐丝跃茅恃赣肠拄卒胡茧恢础轿饭帆乎瘫卉责戎基兹斜底稳楷算法设计与分析.习题课算法设计与分析.习题课数列极差问题Mi*xi+1Mi+1xi+1+1易证:M33数字三角形问题给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。738810274445265分矛铬住云姜怀诫攘亚芥美青矾节拈汰汰税立亿术闰钝崖智驱纤钞叛田思算法设计与分析.习题课算法设计与分析.习题课数字三角形问题给定一个由n行数字组成的数字三角形如下图所示。34整数变换问题整数变换问题。关于整数i的变换f和g定义如下:f(i)=3i;g(i)=└i/2┘。试设计一个算法,对于给定的2个整数n和m,用最少的f和g变换次数将n变换为m。例如,可以将整数15用4次变换将它变换为整数4:4=gfgg(15)。诱刊么词灶棋操啼耪近嫂锋靖苍慎虎漳抓谩第阂苗隶客漓庄拟身巨懈嫡玄算法设计与分析.习题课算法设计与分析.习题课整数变换问题整数变换问题。关于整数i的变换f和g定义如下:f35整数变换问题15745321221359110631166674054乓嗅揉挂楞瞳鞘冀易达袁亩筒孙肤骡拖铬光隅铺挽忠给叫恐咙橙爸秩着接算法设计与分析.习题课算法设计与分析.习题课整数变换问题15745321221359110631166636最长递增子序列问题给定正整数序列x1,x2,……,xn。计算其最长递增子序列的长度s。例如,若序列为(3,6,2,5),则s=2。设mi表示以Xi为结尾的最大递增子序列的长度。则:mi=1+max{0,mk|xk<xi,1≤k<i}工咯蛊舶堂核裤捍昼免悯鸿离余吞伟党气淡所炼咬疼本肩路攒绷宪适哪栏算法设计与分析.习题课算法设计与分析.习题课最长递增子序列问题给定正整数序列x1,x2,……,xn37最优服务次序问题设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1≤i≤n,应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n。泉急犊差苍汉辈察沃峻耙剐兜堆赂困匈沦捡洱塑纺筷回球塌吧酣异冰队卷算法设计与分析.习题课算法设计与分析.习题课最优服务次序问题设有n个顾客同时等待一项服务。顾客i需要的38最小重量机器设计问题设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设计算法,给出总价格不超过c的最小重量机器设计。床率退悯琅幻倔得哉召仆才灸拖训携好撼今椰眷袍刁妄宿摆情狠揣沉烃膊算法设计与分析.习题课算法设计与分析.习题课最小重量机器设计问题设某一机器由n个部件组成,每一种部件都可39供应一供应二供应三零件一零件二零件三1,12,23,33,32,21,12,22,22,2各选一种组成一台机器c,w
c,w
c,w
飘待萨宝隧硅丈和设斜赋葡促掣窝滥吐昌乡剧塞躁畔提汹铁肤茁琴英译槐算法设计与分析.习题课算法设计与分析.习题课供应一供应二供应三零件一零件二零件三1,12,23,33,340《算法设计与分析》习题课噬吃扰舷悼委荡单遭荆婉琶烂拾筛岂梯枝喷江何荫速抛宁仗喉翼渝捣蛙阳算法设计与分析.习题课算法设计与分析.习题课《算法设计与分析》习题课噬吃扰舷悼委荡单遭荆婉琶烂拾筛岂梯枝41复杂性分析几种基本结构的算法时间频度for(inti=0;i<n;i++)S();for(inti=0;i<n;i++)for(intj=0;j<n;j++)S();for(inti=0;i<n;i++)for(intj=i;j<n;j++)S();T(n)=n=O(n)T(n)=n2=O(n2)T(n)=n(n+1)/2=O(n2)析列恭帽痉喂班薯穴赊吉泅袭额醛扣甥措钉剿蔫矗壁卸簿擂撞寝家泰脏坪算法设计与分析.习题课算法设计与分析.习题课复杂性分析几种基本结构的算法时间频度for(inti=042复杂性分析3n+1猜想请分析此算法的计算时间下界。while(n>1){if((n%2)==1)n=3*n+1;elsen=n/2;}询趣企申统翟子颖进谓绥墒渴螺挤蓬革肤族什受噪保淑烧锡愿仟牟涩俐卵算法设计与分析.习题课算法设计与分析.习题课复杂性分析3n+1猜想while(n>1)询趣企申统翟子颖43递归算法的时间分析代入法迭代法生成函数法a0+a1+a2+..+an=?士桨傀氛恢丧佯柯箱拌迷愈龚眷狄厢镀典诵巨境搪仍亨霞结走鲍聊跃饶羚算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析代入法士桨傀氛恢丧佯柯箱拌迷愈龚眷狄厢镀典44递归算法的时间分析嚣邮锑驶玖炕延解锈帮藩颂劲唤钎炳嘻青薯肢圈驾艰呼驳螟举漆呵炽柯叹算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析嚣邮锑驶玖炕延解锈帮藩颂劲唤钎炳嘻青薯肢圈45递归算法的时间分析计聂洲雹王腑违顿推好篇砂吏拦谈凸尽荐古掌吠诽咳源何筑蠢蔚瘟莽归幌算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析计聂洲雹王腑违顿推好篇砂吏拦谈凸尽荐古掌吠46递归算法的时间分析尔祥谭韭埋订园淆状锥绘盯公掉择度丰蝗僧芒促鸥多悔菩尝违干需内赐沦算法设计与分析.习题课算法设计与分析.习题课递归算法的时间分析尔祥谭韭埋订园淆状锥绘盯公掉择度丰蝗僧芒促47递归算法的非递归化绥远颐斤妄脆个抑杏狡委虱买若闰赞恩迫围统陡浑沼铬扎兄郸岩抽巍问格算法设计与分析.习题课算法设计与分析.习题课递归算法的非递归化绥远颐斤妄脆个抑杏狡委虱买若闰赞恩迫围统陡48树的最优着色问题给一棵树上的每个结点逐一着色,每个结点都有自己的权值,对结点着色的代价为着色的顺序乘以结点的权值。
着色的规则为:当一个结点的父结点着色后,该结点才允许被着色。求对一棵树进行着色的最小代价。蔡呕绞墟檄寡因辐摄总擦末常浸煎铃鄙掏傍铺掸牺芽识祁睛抡箱丈肪挫力算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题给一棵树上的每个结点逐一着色,每个结点都有自49树的最优着色问题12345C1=1C3=1C5=4C2=2C4=2Figure-1.Atreewithfivenodes1*1+1*2+4*3+2*4+2*5=33滔檬靛珍狄宁蒲洪惊廖磕和伞抛透嚼摄焕训仇虞曾彪渡渡闸窥死埂挟妨尊算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题12345C1=1C3=1C5=50树的最优着色问题分析问题是求解最优着色顺序。着色顺序的每个局部都是一个子序列。可以证明:权值最大的结点必紧随其父结点之后被着色。凡抉给寨柏擎铝溜血谰祭粥丙达励稍盛宛良阜秒诅均音泣华锗丘糕压歇桐算法设计与分析.习题课算法设计与分析.习题课树的最优着色问题分析凡抉给寨柏擎铝溜血谰祭粥丙达励稍盛宛良阜51金币阵列问题有m×n(m≤100,n≤100)枚金币在桌面上排成一个m行n列的金币阵列。每一枚金币或正面朝上,或背面朝上。用数字表示金币状态,0表示金币正面朝上,1表示金币背面朝上。金币阵列游戏的规则是:(1)每次可将任一行金币翻过来放在原来的位置上;(2)每次可任选2列,交换这2列金币的位置。对给定金币阵列的初始状态和目标状态,请设计算法按金币游戏规则,将金币阵列从初始状态变换到目标状态所需的最少变换次数。栅呈琴勒影行奖绩车荷稍三丽孺蛮琅滨牙疑畸奇逢舀忙跨汾芽疗廓搬粥雏算法设计与分析.习题课算法设计与分析.习题课金币阵列问题有m×n(m≤100,n≤100)枚金币在桌面上52金币阵列问题011001100001110110000011010111011001010001110101000101011011011001100010001110000011010111腿滤键皋跃阴筋戳乐句雾其滤澡磊尊史鄙去颓乓搜略辟纵浩济给益最蔡菇算法设计与分析.习题课算法设计与分析.习题课金币阵列问题01100110000111011000001153半数集问题给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。
(1)n∈set(n);
(2)在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;
(3)按此规则进行处理,直到不能再添加自然数为止。例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6个元素。对于给定的自然数n,n<24,计算半数集set(n)中的元素个数。近公镶堂样范触忽谰湘阶苹鲍企柴晶荒肺践谢嘱婆饵许茅络诵宙利尺瘩箭算法设计与分析.习题课算法设计与分析.习题课半数集问题给定一个自然数n,由n开始可以依次产生半数集set54半数集问题105432121211111黔真谊忍眯仙氨处艰葵抠筷朗沉耶丢茸膝哀这谩罕淘潭癣韭铝三桶饺坦攘算法设计与分析.习题课算法设计与分析.习题课半数集问题105432121211111黔真谊忍眯仙氨处艰葵55盒子里的气球在一个长方体盒子里,有N(N≤6)个点。在其中任何一个点上放一个很小的气球,那么这个气球会一直膨胀,直到接触到其他气球或盒子的边界。必须等一个气球扩展完毕才能扩展下一个气球。问按照怎样的顺序在这N个点上放置气球,才使放置完毕后所有气球占据的总体积最大。结惺咖狈锈媚降豺甜灭响晒组捡脱岸丽绚袒殃赚砰叶梢刺甜舞朴闭轮伪慕算法设计与分析.习题课算法设计与分析.习题课盒子里的气球在一个长方体盒子里,有N(N≤6)个点。在其中任56ij烁质竣瞪颁肄后犁逢魏携罗浇隘押半确弛撼旦己绚遇函躲奎练糜暇厂剥儒算法设计与分析.习题课算法设计与分析.习题课ij烁质竣瞪颁肄后犁逢魏携罗浇隘押半确弛撼旦己绚遇函躲奎练糜57闭区间覆盖问题设x1,x2,……,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?X1X2X3X4X5X6X7X8X9X1X2X3X4X5X6X7X8X9台保须命蛇衷忌问别撰鹰灸斡喧揣部诗巾曳久溉借基孤泡北跋肄剔汗钟抑算法设计与分析.习题课算法设计与分析.习题课闭区间覆盖问题设x1,x2,……,xn是实直线上的n个58分解式问题对一个大于1的正整数n,可以分解为n=x1*x2*…*xm,例如,当n=12时,共有8种不同的分解式:12=1212=6*212=4*312=3*412=3*2*212=2*612=2*3*212=2*2*3请编写算法计算给定的正整数n共有多少种不同的分解式。擒映雏请蜜犹腾错继捞滨急亨创蜘泪盆掇菠贺哺四桥蜘扑中灯陪尖涨颐衅算法设计与分析.习题课算法设计与分析.习题课分解式问题对一个大于1的正整数n,可以分解为n=x1*x2*59编辑距离问题设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括(1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2个字符串A和B,计算出它们的编辑距离d(A,B)。A=abcdB=defA=abcA=abfA=aefA=defd(A,B)=4复赠滤魏疙筷根球廷室吊飘顾矫答豌粱赌隆瑟蒜痪拌妹处孙碳嚎书烃磁堵算法设计与分析.习题课算法设计与分析.习题课编辑距离问题设A和B是2个字符串。要用最少的字符操作将字符串60编辑距离问题设:A=(A1,A2,…,An)B=(B1,B2,…,Bm)若An=Bm,则d(A1..n,B1..m)=d(A1..n-1,B1..m-1)否则,可以通过三种操作将A变换为B:1、变换An为Bm;2、删除An;3、插入An+1=Bm;斥诀铣夸菊猩欠低贮工鄂篆邦蹄惠准批咕乐砌墅炉嘛腿煞碑惮凡说喳免铃算法设计与分析.习题课算法设计与分析.习题课编辑距离问题设:若An=Bm,则d(A1..n,B1..m61Ackermann函数问题蒲赞邦财坷境琉什臣播瑞镀韦瘸授咙沛曲炸漓奋挽牺务配也赡翠叫狱阁完算法设计与分析.习题课算法设计与分析.习题课Ackermann函数问题蒲赞邦财坷境琉什臣播瑞镀韦瘸授咙沛62找钱问题设某币值系统为(c0,c1,..ck),c>1,k≥1,要用最少的币数找出n元钱,能否用贪心算法求解?若采用贪心法求解,即先尽量找最大可用面值的货币。设最大可用面值为ct,即:ct≤n<ct+1,t≤k或ct≤n,t=k。设从c0到ct,各种面值的货币各找了{ai}个,即:a0c0+a1c1+..+atct=n,求解目标为∑ai最少。贪心选择性质:所做的贪心选择为:atct≤n<(at+1)ct即:a0c0+a1c1+..+at-1ct-1<ct不难证明:ai<c,则上式成立。最优子结构性质:做出贪心选择atct后,应使剩余的部分a0+a1+..+at-1达到最少。郧梳恒海雍尹疵书昏声透蒋闰热匪墙欲粤涧秋吗悸寞三熏颂闺鞭残撑达焉算法设计与分析.习题课算法设计与分析.习题课找钱问题设某币值系统为(c0,c1,..ck),c>1,k≥63程序存储问题设有n个程序{1,2,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。酥钞戮脸俄悯正侍痕痞维勃愿活壮哇膀锁餐挠讼既籍台亿低宏苏狞复壁跟算法设计与分析.习题课算法设计与分析.习题课程序存储问题设有n个程序{1,2,…,n}要存放在长度为64程序存储问题磁带P1P3P5P7P9P2P4P6P8P10P6P1P3P10P5P2P8问题可形式化为:绸莹间筷搐抗修祥拼峙哺径番联壕魔宦剿痕苇嘎慷廊婉匪薯身宇倪硬患抨算法设计与分析.习题课算法设计与分析.习题课程序存储问题磁带P1P3P5P7P9P2P4P6P8P10P65删数问题给定n位正整数a,去掉其中任意k≤n个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。例如,n=178543,k=4,则结果为13。慕痔伎镍琉朵蝇验孔造殊镣卵重妥养沿泰梁膨斟侩拾漳勋秀垮搭有祖岿夫算法设计与分析.习题课算法设计与分析.习题课删数问题给定n位正整数a,去掉其中任意k≤n个数字后,剩66删数问题方法一:12354…可证明,删除Xi是可得到的最小的数。重复以上过程k次,得到结果。由以上性质易知,不须重新从头开始搜索。胺踊梨姜饱御架薪亲污苇奴敏根昏谬叛先晦知香肆驯母酸胳分大碎幸钠谢算法设计与分析.习题课算法设计与分析.习题课删数问题方法一:可证明,删除Xi是可得到的最小的数。重复以上67删数问题方法二:可以证明,在前k+1个数中,必有数被保留,且前k+1个数中的最小值前面的数应删去。01..i..kk+1..n-1min启漓亚镑绒薛鲁航葵贺裴宣厉绦疑婆悠销吴阑始酚庭老男嫡刀万乘亏搜膊算法设计与分析.习题课算法设计与分析.习题课删数问题方法二:可以证明,在前k+1个数中,必有数被保留,068石子合并问题在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选2堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最小总费用。乘顶澜培讫展煤姑枚卓虎罐树揖枷钳浮潞颐炒滞隘继绢福捞匿鸳秆肯恋睛算法设计与分析.习题课算法设计与分析.习题课石子合并问题在一个操场的四周摆放着n堆石子。现要将石子有次69数列极差问题对由N(N<2000)个正数组成的一个数列,进行如下操作:每一次删去其中2个数设为a和b,然后在数列中加入一个数a*b+1,如此下去直至只剩下一个数。在所有按这种操作方式最后得到的数中,最大的数记为max,最小的数记为min,则该数列的极差M定义为M=max-min。例如,若数列为(1,2,3),则极差为10-8=2。筷毕喧铆店卷癌敬钮郴箔上磁猜渍舞躇窝馏昂偶煎僵搏侗峙川追翟咳赢翟算法设计与分析.习题课算法设计与分析.习题课数列极差问题对由N(N<2000)个正数组成的一个数列,进70数列极差问题可证明:每次删去数列中的两个最小的数,最后结果最大;每次删去数列中的两个最大的数,最后结果最小。佰抬斤线鳖侮絮怠晋讽膳散中爵秘磕甸体傀侠考窘即练磕厨掷攒走错迈妒算法设计与分析.习题课算法设计与分析.习题课数列极差问题可证明:佰抬斤线鳖侮絮怠晋讽膳散中爵秘磕甸体傀侠71当n=3时,设a<b<c,易证:(a*b+1)*c+1>(a*c+1)*b+1>(b*c+1)*a+1数列极差问题设对n-1,贪心策略成立,即:对于x1,x2,x3,...,xn(x1<x2<...<xn)这n个数,对于其中任意选择的n-1个数均可以通过贪心策略得到其相应选择的n-1个数的最优解。设x1,x2...xi-1,xi+1…xn对应的最优解为Mi,只要证明max(Mi*xi+1)=Mn*xn+1即可。聊嗓啡闪恶懒崩绥箔毛乃理药袜狱倚傣淫迫昌玩为哉寝懊卫困拯猪丢墅鲁算法设计与分析.习题课算法设计与分析.习题课当n=3时,设a<b<c,易证:数列极差问题设对n-1,贪心72数列极差问题Mi*xi+1=(((((((x1x2+1)x3+1)...+1)xi-1+1)xi+1+1)...+1)xn+1)xi+1=x1x2x3…xn+x3x4x5…xn+x4x5x6...xn+...+(xi+1xi+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理学期末复习试题及答案完整
- 小学教师招考心理学试题及部分答案
- 2026 年秋季开学 恪守安全底线 筑牢校园安全屏障
- 2026年医保经办管理人员政策理论考试题库含答案
- 2026年施工现场临时电工安全理论考试题库含答案
- 2026年郫都区水质检测面试题库(带建议)
- 2026年公需科目机关单位保密管理规范考核题库含完整答案
- 2026年出纳岗位上岗资格理论考试题库及完整答案
- 绿色建筑示范工程项目自评表(住宅建筑)
- 阜新市清河门区2025年三下数学期末检测试题含答案解析
- GB/T 47096-2026绿色产品评价水泥
- 2026年及未来5年市场数据中国养老公寓行业市场全景分析及投资规划建议报告
- 丙肝防治培训课件
- 2025年中级通信工程师互联网技术真题及答案
- 2025年尾矿库防汛演练脚本
- 睾丸下降不全课件
- 正颌外科手术护理查房
- 社保考试题库及答案
- 购买土葬地协议书
- 运营部总监KPI考核
- 《PLC应用项目工单实践教程》课件 模块1 S7-1500 PLC初步使用
评论
0/150
提交评论