永发信息网

有一组关键字序列(41,34,53,38,26,74),采用快速排序方法由大到小进行排序

答案:1  悬赏:40  手机版
解决时间 2021-01-26 18:02
有一组关键字序列(41,34,53,38,26,74),采用快速排序方法由大到小进行排序
最佳答案
快速排序又称分区交换排序,是对冒泡排序的改进,快速排序采用的思想是分治思想。。
算法原理: 
(1)从待排序的n个记录中任意选取一个记录(通常选取第一个记录)为分区标准;
(2)把所有小于该排序列的记录移动到左边,把所有大于该排序码的记录移动到右边,中间放所选记录,称之为第一趟排序;
(3)然后对前后两个子序列分别重复上述过程,直到所有记录都排好序。
稳定性:不稳定排序。
时间复杂度: O(nlog2n)至O(n2),平均时间复杂度为O(nlgn)。
最好的情况:是每趟排序结束后,每次划分使两个子文件的长度大致相等,时间复杂度为O(nlog2n)。
最坏的情况:是待排序记录已经排好序,第一趟经过n-1次比较后第一个记录保持位置不变,并得到一个n-1个元素的子记录;第二趟经过n-2次比较,将第二个记录定位在原来的位置上,并得到一个包括n-2个记录的子文件,依次类推,这样总的比较次数是: 

Cmax=∑i=1n−1(n−i)=n(n−1)/2=O(n2)
//a:待排序数组,low:最低位的下标,high:最高位的下标
void quickSort(int a[],int low, int high)
{
    if(low>=high)
    {
        return;
    }
    int left=low;
    int right=high;
    int key=a[left];    
    while(left!=right){
        while(left=key)    
            --right;
        a[left]=a[right];
        while(left            ++left;
        a[right]=a[left];    
    }
    a[left]=key;    
    quickSort(a,low,left-1);
    quickSort(a,left+1,high);
}题目中对(41,34,53,38,26,74)排序
第一趟     26,34 ,53 ,38,41 ,74
26,34 , 41 ,38,53 ,74
26,34 , 38 ,41,53 ,74
这样序列就这样分割成了两部分,左边部分{26,34 , 38 } 均小于 基准值(41);右边部分 {53 ,74},均大于基准值。这样子我们就达到了分割序列的目标。在接着对子序列用同样的办法进行分割,直至子序列不超过一个元素,那么排序结束,整个序列处于有序状态。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
平邑县铜石镇东洼子幼儿园地址在什么地方,我
林研教育怎么去啊,我要去那办事
成语口快心直的意思是什么啊?有知道释义的请
下列工业部门多倾向于设置在科技发达地区的是
冷却风扇出现问题,电视机关闭
息烽高中校长号码是多少
平邑县铜石镇小官路幼儿园地址在什么地方,我
行政处罚中规定,违法行为在()年内未被发现的
兴奋的场面作文
贵州考生考上海交通大学多少分
世界三大名刃指的是什么
员工不服从工作调动一个月
萌新入坑 这些动漫先看哪个 或者推荐更好的
平邑县铜石大沟崖幼儿园地址在什么地方,想过
北京神墨学堂(鸡西虎林市)地址在哪,我要去那
推荐资讯
三一385挖机抬大背慢求解?
CF战队名字 倾一世 后面加两个字加什么气派
巍屏社区居委会地址好找么,我有些事要过去
车辆没有违章驾照会被扣分吗?
你的高考分数可以去什么大学
成语米珠薪桂的意思是什么啊?有知道释义的请
信阳安逸招待所地址在什么地方,想过去办事
老师给初中毕业学生同学录赠言(急需!)
男人多吃什么容易生女孩
128g 的内存卡 那个手机带的起来 三星除外
成语硕学通儒的意思是什么啊?有知道释义的请
小说主角作酒剑仙的诗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?