算法导论习题答案
文章平均质量分 61
喔就是哦噢喔
菜鸡互啄
展开
-
全局最优和局部最优 世俗理解以及原理解释
引言今天逛知乎看到这样一个问题和回答,让我瞬间理解局部最优和全局最优在诸如算法导论等书是这样解释的:全局最优是在全局选取一个最佳值,而局部最优是在某一部分选取一个最佳值。每一部分都选取最佳值(即局部最优)最后不一定是全局最优。世俗理解与原理解释局部最优:有一个人,精致的利己主义者,没有深谋远虑只是看重眼前的利益。比如说在日常生活中小偷小摸、损人利己、曲意逢迎等等为自己谋取最大利益。这样的人办不成大事,因为一次两次还好,次数多了身边人都知道他是什么样的人了,要么不带他一起玩,要么防备着他以避免被坑。原创 2022-02-21 13:09:26 · 3447 阅读 · 0 评论 -
算法导论第三版 21.2-3习题答案
21.2-3分析要想做这道题,要先弄懂定理21.1的证明过程。前提;加权合并启发式策略中的UNION()只需要进行指针的更新就可以实现合并操作(重点理解)(1)首先明确UNION()操作的最多执行n-1次(注意:是次数)。因为MAKE-SET()操作执行了n次,创造了n个对象。(2)加权合并启发式策略是将较短的表拼接到较长的表中,而不是像图21-3所示的简单合并(简单合并就是{A}和{B...原创 2019-12-08 18:22:26 · 1227 阅读 · 1 评论 -
算法导论第三版 17.3-6习题答案
17.3-6答案:如10.1-6方法所示:(10.1-6答案)设Ci为第i个操作的代价(假定每个操作的代价为1),每次操作的势能D(i):定义为s1栈中的元素个数*2。那么有:...原创 2019-12-02 17:39:05 · 720 阅读 · 0 评论 -
算法导论第三版 10.1-6习题答案
10.1-6答案:设定两个栈为s1和s2,那么s1用来ENQUEUE(),s2用来DEQUEUE(),当然s1需要用来为DEQUEUE()操作作过渡,流程如下:(1)首先将入队元素1,2,3依次放进栈s1。此时s1元素从低到高为1,2,3,s2中暂时无元素。(2)然后依次将1,2,3从s1中弹出并且放入s2中。此时s1栈空,s2中元素从低到高依次为3,2,1(3)若此时进行还需要ENQU...原创 2019-12-02 16:51:51 · 477 阅读 · 0 评论 -
算法导论第三版 16.1-5习题答案
16.1-5这题实际是带权的活动求取最大权重的活动选择问题,使用动态规划求解。如果有心学好的动态规划的同学可以去 “ B站上搜 ’ 动态规划(第1讲) ‘,选择作者是:正月点灯笼的视频 ” 看看,他的这个视频讲解的就是这个问题的求解,简单易懂。答案:首先,活动集中的活动已经按照结束时间先后顺序进行了排序;其次,定义两个数组R[1…n];pre[1…n] (其中,n为活动集的规模)。R[]数...原创 2019-11-28 15:09:53 · 3207 阅读 · 4 评论 -
算法导论第三版 17.1-2习题答案
17.1-2分析:如书中所示,increment(A)函数中,A数组来存放二进制,所以increment(A)函数实质是将一个十进制整数用二进制来表示,然后在整数加1的时候,将二进制做相应的变化。那么decrement(A)就可以知道,其实质是将一个十进制整数用二进制来表示,然后在整数减1的时候,将二进制做相应的变化。现在给出几个十进制——二进制对照来讲:十进制表示:123...原创 2019-11-27 21:31:28 · 1899 阅读 · 0 评论 -
算法导论第三版 15.3-4习题答案
15.3-4分析:Capulet教授的观点实质是是在求解一个方案,该方案能使得每个添加的括号处的P[i-1]*P[k]*P[j]数乘次数的和最小。而矩阵链乘实质上求解的是一个方案,该方案能使整体的数乘次数的和最小。所以Capulet教授的观点不能总是得到最优解答案:反例:矩阵A1;A2;A3的规模分别是10 * 20;20 * 30;30 * 40;(1)按照P[i-1]*P[k]*P...原创 2019-11-26 14:39:13 · 855 阅读 · 0 评论 -
算法导论第三版 15.1-3习题答案
15.1-3分析:增加了固定成本c,则在每一次切割后都需要减去一次,此时递归表达式:伪代码:Bottom-Up-Cost-Cut-Rod(p,n) let r[0…n] be a new array &nbs...原创 2019-11-26 14:00:05 · 1716 阅读 · 0 评论 -
算法导论第三版 15.1-2习题答案
15.1-2分析:根据密度(类似于单价)来做切割,只能得到局部最优解,因为按照题目要求是不能对一个长度定了、价值定了的钢条进行拆分的(如20英寸的钢条价值100,则密度为5,但是当待切割的钢条L在切割后只剩下5英寸的时候,不能把密度为5的这根钢条切出来5英寸的价值等同于钢条L最后的5英寸。举的例子有点不恰当,当你们预习一下第十六章贪心算法中的分数背包问题之后,可能能理解这个例子了)解答:反...原创 2019-11-26 13:45:06 · 706 阅读 · 0 评论