摘要: 题目:假定元素的值不同,说明如何才能使快速排序在最坏情况下以O(nlgn)时间运行思考:要改善最坏情况的下运行时间,就要从划分入手,保证即使是最坏情况,也要尽量均衡地划分。因此,使用SELECT找到中值,再以这个中值为主元进行划分代码:1.以RANDOMIZED-SELECT作为选择中值的算法 1 //9.3-3-使用RANDOMIZED-SELECT作为选择中值算法 2 #include <iostream> 3 using namespace std; 4 5 //已经出现很多次了,不解释 6 int Partition(int *A, int p, int r) 7 { 8 阅读全文
posted @ 2012-06-24 20:07 windmissing 阅读(452) 评论(0) 推荐(0) 编辑