2011年3月23日

算法导论8.3-4习题解答(基数排序)

摘要: CLRS 8.3-4 :说明如何在O(n)时间内,对0到n^2 - 1之间的n个整数进行排序。算法思想:1.把这n个数看成n进制数,那么每个数只有两位,因而循环只需两次2.调用通用的基数排序(在这写着,留着以后用)在此题中,我选择n = 15, 即数组中有15个数,依次为0, 3, 8, ..., 224,但是将顺序打乱了。PS:在前一篇文章中,计数排序的总时间为O(k+n),在实践中,如果当k = O(n)时,我们常常采用计数排序,这时其运行时间为O(n).在这里采用的是基数排序,在实践中,其排序时间为O(d*(n+k)),但很耗内存,有时甚至比快速排序更快,具体应用再看。#include 阅读全文

posted @ 2011-03-23 20:59 NULL00 阅读(2036) 评论(0) 推荐(0) 编辑

导航