美文网首页
算法笔记_快排

算法笔记_快排

作者: 懒生活 | 来源:发表于2022-11-11 11:27 被阅读0次

几个核心

1)相对于冒泡排序,快排在一次遍历的时候不是光邻居互换,他是右边探测的点和左边探测的点大跨步互换。

2)通过分治的思想提高排序的效率

如何才能熟练的掌握快排的编码

+ 入参分左右,整个过程是个递归过程

+ 退出条件是左边坐标大于或者等于右边。

如果等于说明这个递归说处理的数据片段只有一个数据,那自然不用处理,如果小于,说明递归要处理的数据段已经溢出。不需要处理

+ 把最左边的数据定位基准。

+ 从最右边和最左边分别开始探查,双索引探查,只要这连个索引不重合就继续探查。探查步骤是,先从最右边开始找比基准小的值,然后从最左边开始找比基准大的值。找到后完成一次交换,如果索引重合了,就和基准交换。

+ 基准交换后,二分开始递归。

```

void qSort(int a[], int left, int right)

{

if(left>=right)

    return;

int i = left;

int j = right;

int base = a[left];

while(i!=j)

{

while(a[j]>=temp && j>i)

    j--;

while(a[i]>=temp && i<j)

    i++;

if(i<j)

    swap()

}

swap_base;

qSort(a,left, i-1);

qSort(a,i+1, right);

```

相关文章

  • 算法笔记_快排

    几个核心 1)相对于冒泡排序,快排在一次遍历的时候不是光邻居互换,他是右边探测的点和左边探测的点大跨步互换。 2)...

  • 算法笔记 快排

    几个算法核心 1)相对于冒泡排序,快排在一次遍历的时候不是光邻居互换,他是右边探测的点和左边探测的点大跨步互换。2...

  • 线性查找,递归,二分查找,选择排序,插入排序,归并,快排

    阅读<<算法基础>>做下的笔记 快排的partision的指针图示:

  • 快排算法

    转:微信公众号:程序员小灰 快排算法 是按分治算法的思路进行排序的。 选定参照元素后,每次比较都按分治算法将小的移...

  • 快排算法

    本文摘自https://blog.csdn.net/yzllz001/article/details/509828...

  • 快排算法

    这里对快速排序做一下总结(之前在写时间复杂度和空间复杂度时候想到的。) 1. 思想 快排的思想就是说,选定数组中第...

  • 【算法】快排

    1.时间复杂度 2.快排

  • 2018-07-13

    快速排序算法 快排普通版本: 快排优化版本: 测试代码:

  • Java算法——快排算法

  • all

    算法与数据结构 常见算法类型 排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、...

网友评论

      本文标题:算法笔记_快排

      本文链接:https://www.haomeiwen.com/subject/xwyztdtx.html