2014年4月12日

《算法导论》笔记 第8章 总结与思考

摘要: 【思考】8-1 比较排序的平均情况下界8-2 以线性时间原地置换排序有一个由n个数据记录组成的数组要排序,且每个记录的关键字为0或1。1) 算法的运行时间为O(n)2) 算法是稳定的。3) 算法是原地进行排序的。a) 给出一个满足1、2的算法。计数排序。b) 给出一个满足1、3的算法。采用类似快速排序中的PARTITION的方法,用两个指针分别从前往后、从后往前扫描,若(i>=j)则推出循环,否则将前面的第一个1与后面的最后一个0交换。c) 给出一个满足2、3的算法。所有稳定的原地排序算法皆可。d) 在a、b、c中给出的算法能否用来在O(bn)时间内,对有b位关键字的n个记录进行基数排序 阅读全文

posted @ 2014-04-12 21:42 电子幼体 阅读(367) 评论(0) 推荐(0) 编辑

《算法导论》笔记 第8章 8.4桶排序

摘要: 【笔记】桶排序假设元素均匀而独立的分布在区间[0,1)上。桶排序的思想就是把区间[0,1)划分成n个相同大小的子区间,或称桶。将n个输入数分布到各个桶中去。整个桶排序算法以线性期望时间排序。void bucketSort(double A[],int n) { list B[MAXN]; for (int i=1;i::iterator it=B[i].begin();it!=B[i].end();it++) A[++cnt] = *it; }}【练习】8.4-1 说明BUCKET-SORT作用于数组 A = 。i = 0i = 1 0.13 0.16i = 2 0.2i =... 阅读全文

posted @ 2014-04-12 18:00 电子幼体 阅读(835) 评论(0) 推荐(0) 编辑

导航