摘要:
第三版的CLRS改写了15.1.用一个rod cut问题代替了assembly-line问题。不过总觉得还没第2版讲得好啊。15.1-1Print-Station(l*, n). 如果n==2, print l_2[l*], 否则的话Print-Station(l_n[l*], n-1) print 'n station, l_n[l*] '15.1-2 Suppose \(r_1(j+1)=r_2(j+1)=2^{n-j-1}\)。带入公式15.9既得。15.1-3 all \(f_i[j]\) . 这个\(1+2+4+....2^{n-1}=2^n-1\) 乘2既得15.1 阅读全文
摘要:
这章有道题目一直做不出来。。。。11.1-1 阅读全文
摘要:
我估计这章基本上所有的习题都要被我略过去了。2.1-1 略2.1-2 略2.1-3 略2.1-4 略2.2-1 略2.2-2 略2.2-3 略2.2-4 输出预先计算好的结果=。=2.3-1 略2.3-2 好麻烦=。=2.3-3 略2.3-4 recursive procedure:sort(A, n)if n > 1sort(A, n-1), 扫描,插入elsereturnend2.3-5 烂大街的二分查找。while(l<=r) i=(l+r)/2 if A[i]<x l=i+1, if A[i]>x r=i-1 A[i]==x返回2.3-6 No. 因为即使效率的 阅读全文
摘要:
10.1-1 略10.1-2 把这个数组的头和尾各当成一个stack就好了,如果一个stack在push的过程中发现已经有值了就说明放满了。 10.1-3 略10.1-4 ENQUE,DEQUE中只要判断一下是否有值,是否没有值就好了10.1-5 deque就不多说了10.1-6 两个栈实现一个队列。设栈A和栈B代表这个队列。如果向队列插入一个元素就是向栈A压入一个元素。出队列就是从栈B中弹出一个元素,如果B没有元素,就把A中的元素弹出再压入B。只是出队列的时间复杂度最坏有O(n).10.1-7 两个队列实现一个栈。入栈就是向一个队列插入。出栈就是从另外一个队列弹出。如果没有的话,就把另外一个 阅读全文