【算法浅析NO.00006】快速排序算法浅析 by arttnba3

本文介绍了快速排序算法,从基本概念、原理分析到代码实现,并探讨了简单的优化策略,如选择基准值的方式,以及高级优化中如何针对不同数据特性选择合适的排序方式,旨在帮助读者深入理解快速排序。
摘要由CSDN通过智能技术生成

原文:我的博客归档

0x00 绪论

众所周知,快速排序是所有的排序算法当中速度较快的一种,手撕快排也成为了每一位OIer的必备技能(实际上大部分人都会直接用STL的sort函数XD)
刚好今天ACM选修课布置的课后作业有一道题就是快排模板,所以作为一名不合格的OIer今天来简单讲讲什么是快速排序算法2333

0x01 基本概念

快速排序(Quick Sort),顾名思义就是很快的排序(大雾),是基于冒泡排序的一种改进的排序算法。

pre.冒泡排序(Bubble Sort)

没学过冒泡排序的可以简单地看一下,学过的直接跳过就行了
顾名思义,数据会“像泡泡一样一个一个冒出水面”,故得名冒泡排序
冒泡排序要对数组进行n-1趟遍历,故时间复杂度为O(N^2)
简单的冒泡排序代码如下:

void a3_sort(int * array, int n)
{
    
    int temp;
    for(int i=0;i<n-1;i++)
        for(int j=0;j<n-1-i;j++)
            if(array[j]>array[j+1])
            {
    
                temp = array[j];
                array[j] = array[j+1];
                array[j+1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值