2011年3月21日

算法导论7.1-4习题解答(快速排序)

摘要: CLRS 7.1-4:应如何修改QUICKSORT,才能使其按非增序进行排序?算法思想:改掉书上partition算法中的<=为>=#include <iostream>usingnamespace std;void quick_sort(int*&a, int p, int r);int partition(int*&a, int p, int r);int main(){ constint LEN =20; int b[LEN] = {12, 43, 0, -4, 98, 75, 64, 88, 5, 32, 11, 12, 13, 84, 34, 阅读全文

posted @ 2011-03-21 21:50 NULL00 阅读(1145) 评论(0) 推荐(0) 编辑

算法导论6-3习题解答(Young氏矩阵)

摘要: CLRS 6-3 :Young氏矩阵( 杨氏矩阵)解答:(a)2 4 9 12 3 5 14 Max 8 16 Max Max Max Max Max Max(b)Y[1, 1]为Max的话,那么按照Young氏矩阵定义,矩阵中其他数值必然大于等于它,所以Y为空。 若Y[m, n] < Max的话,由其他元素都小于等于Y[m, n]可知此矩阵是满的。(c)算法思想: 1)A[0][0]必然是最小值,将其取出,然后将矩阵的最后一个元素A[m-1[n-1]补到第一位来,并将A[m-1[n-1]设置为Max 2)将A[0][0]与A[0][1]和A[1][0]二者之间的最小值进行交换, 3)若 阅读全文

posted @ 2011-03-21 17:56 NULL00 阅读(2373) 评论(1) 推荐(1) 编辑

算法导论6-1习题解答

摘要: CLRS 6-1 :1.当输入数组相同时,过程BUILD-MAX-HEAP和BUILD-MAX-HEAP'产生的堆是否总是一样的?解答:这个可以用举反例的方式来反驳之。如数组为{1, 2, 3, 4, 5}按照BUILD-MAX-HEAP的方式为: 1 1 5 2 3 -> 5 3 -> 4 3 4 5 4 2 1 2按照BUILD-MAX-HEAP'的方式为: 2 3 4 5 1 -> 1 -> 1 2 -> 3 2 -> 4 2 1 1 32.简单说明:BUILD-MAX-INSERT的时间为lgn,而for循环运行了了n-1次,所以总时 阅读全文

posted @ 2011-03-21 10:05 NULL00 阅读(752) 评论(1) 推荐(0) 编辑

导航