美文网首页
快排【算法导论】

快排【算法导论】

作者: 比轩 | 来源:发表于2019-11-13 21:48 被阅读0次

注:学习算法导论,按照标准伪代码理解翻译为java实现,如有兴趣理解整个过程的细节,建议阅读《算法导论》第7章:快速排序。

void quickSort(int[] A, int p, int r) {
    if (p < r) {
        int q = partition(A, p, r);
        quickSort(A, p, q -1);
        quickSort(A, q + 1, r);
    }
}

int partition(int[] A, int p, int r) {

    int x = A[r];
    int i = p - 1;
    int temp;
    for (int j = p; j < r; j++) {
        if (A[j] <= x) {
            i += 1;
            temp = A[i];
            A[i] = A[j];
            A[j] = temp;
        }
    }
    temp = A[i + 1];
    A[i + 1] = A[r];
    A[r] = temp;
    return i + 1;
}

相关文章

  • 快排【算法导论】

    注:学习算法导论,按照标准伪代码理解翻译为java实现,如有兴趣理解整个过程的细节,建议阅读《算法导论》第7章:快...

  • 算法导论(四):快排及随机化算法

    麻省理工学院公开课:算法导论。B站地址,网易公开课也有对应的资源。https://www.bilibili.com...

  • 快排算法

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

  • 快排算法

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

  • 快排算法

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

  • 【算法】快排

    1.时间复杂度 2.快排

  • 2018-07-13

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

  • Java算法——快排算法

  • all

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

  • 排序算法-快排

    1. 快排基本特征: 时间复杂度:O(nlogn)最坏:O(n^2) 空间复杂度: O(nlogn) 不稳定排序 ...

网友评论

      本文标题:快排【算法导论】

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