10 2013 档案
摘要:Exercises6.1-1最多为2h+1-1个,因为堆是只有最低层未满的二叉树,所以最少也会有2h个元素。6.1-2根据h≤lgnA[parent(i)]时循环终止,这两个条件都不会破坏最大堆的性质,应为A[i]没有parent,而A[i]>A[parent(i)]并不破坏堆的性质。6.5-6利用插入排序的性质,可以很容易得出结论。6.5-7保证先进入的元素的key值大于后进入key即可实现队列。栈的话反之。6.5-8对以i为根的堆提取最大值即可。6.5-9从该堆中提取一个元素,之后再将提取元素的链表中找出下一个元素插入到堆中。Thingking Problems6-1a.不总是一样的
阅读全文
摘要:Exercises5.1-1应聘者是随机出现的,如果总是可以决定哪一个应聘者最佳,那么就意味着对任何一种应聘序列,总能知道哪一个最好的,这也就意味着我们能过比较任意的两个元素,必然也就知道了应聘者的全部次序。5.1-2Randome(0,1)只能产生0或者1,恰好二进制只有0或者1,故可以利用Random(0,1)产生Random(a,b)的每一位,计算b的位数,如果生成的数不在[a,b]范围内,就重新生成。5.1-3调用两次BASED-RANDOM,调用两次后,都产生1的概率是p2,都产生0的概率是(1-p)2,而产生一个0,一个1的概率是2p(1-p)\[E[x] = \sum\limit
阅读全文
摘要:Exercises3.1-1因为f(n)与g(n)是渐近非负的,所以存在,使得f(n),g(n)>0,可以看出存在,使得,所以可以证出max{f(n),g(n)}=Θ(f(n)+g(n))。3.1-2根据题意可知,当时成立,且,当时成立,因此存在,使得当时,,因为b>0,所以,因此存在,使得,证明完毕。3.1-3O(n)已经代表T(n)运行上界,最少是O(n)对于T(n)来说是无法达到的,所以是没有意义的。3.1-41.因为,所以成立。2.不成立,假设成立的话,那么存在c,使得,那么,因为c是常数,n可以无限大,所以不可能成立,所以不成立。3.1-5 略。3.1-6O符号给出的是运
阅读全文
摘要:Exercises2.1-1 略。2.1-2 略。2.1-3C/C++ Code:int Search(int A[],int v){ for(int i=0;i++;ik-p||j>q-k-1) //其中任意一个数组中所有元素都被复制回A时,即终止循环 break; if(L[i]>=R[j]) A[l]=R[j++]; else A[l]=L[i++]; } // 将另一个数组中的剩余元素复制回A for(;i2时,成立,则可以证明。3.因此,当k>=1时,且n是2的幂时,。2.3-4n=1或2时,T(n)=1;n>2时 ,。2.3-5C/C++ Cod...
阅读全文
浙公网安备 33010602011771号