2011年4月11日

算法导论8-5习题解答(平均排序)

摘要: CLRS 8-5:平均排序解答:a)非递增完全排序b)2 1 4 3 6 5 8 7 10 9c)展开题目中的公式,然后消除相同项,即可得到此结论。d)算法思想: 1.将数组分成k组,即{a[0], a[k], a[2k] ...}, {a[1], a[1+k], a[zk+1] ...}, ..., {a[i], a[i+k], a[i+2k], ...}, ..., {a[k-1], a[2k-1], ...}. 2.然后对每一组用合并排序或者堆排序进行排序,则每一组的时间为t = n/k*lg(n/k),总的时间为nt,即nlg(n/k).e)由于数组已是k排序的,则可以将数组按d).1 阅读全文

posted @ 2011-04-11 21:06 NULL00 阅读(657) 评论(0) 推荐(0) 编辑

算法导论8-4习题解答

摘要: CLRS 8-4 :水壶比较问题解答:a)两个for循环即可,O(n^2);b)不会证明,略;c)算法思想:1.由于相同颜色的瓶子不能比较,因而不能对红色瓶子或者蓝色瓶子进行内部排序。2.随机从红色瓶子抽取一个瓶子(实现时选的是中间瓶子),然后与蓝色瓶子进行比较,找到那个相等的蓝色瓶子,它们就是配对的,小于这个红色瓶子的就存在一个数组内,大于这个红色瓶子的就存在另外一个数组内,用得到的蓝色瓶子再和红色瓶子组进行比较,将小于这个蓝色瓶子的存在一个数组内,大于这个蓝色瓶子的存在另一个数组内。3.对得到的两组小的红色瓶子和蓝色瓶子重复2过程,对得到的两组大的红色瓶子和蓝色瓶子重复2过程,即递归。代码 阅读全文

posted @ 2011-04-11 21:02 NULL00 阅读(1313) 评论(0) 推荐(0) 编辑

导航