美文网首页
划分算法与快速排序

划分算法与快速排序

作者: Diggle | 来源:发表于2018-05-04 10:45 被阅读0次

划分算法与快速排序

        划分算法由两个指针来完成,这两个指针分别指向数组的两头,左指针left向右移动而右指针right向左移动,实际上left和right初始化时是在左右边的各减一位的位置,这是因为它开始算法前它们都要分别的加一和减一。

         当left遇到比特定值小的值时它继续右移,因为这个数据项的位置已经在数组的小于特定值得一边了。当遇到比特定值大的数时,它就停下来。类似的,当right遇到比特定值大的数时就继续左移,当遇到比特定值小的数时就停下来。当都停下来的时候left和right都指向了在数组错误一方位置上的数据项,所以交换这两个数据项。交换之后,继续移动两个指针,当指向的数据项在数组的错误的一方时,再次停止然后交换数据。

相关文章

  • 无标题文章

    划分算法与快速排序 划分算法与快速排序 划分算法由两个指针来完成,这两个指针分别指向数组的两头,左指针left向右...

  • 划分算法与快速排序

    划分算法与快速排序 划分算法由两个指针来完成,这两个指针分别指向数组的两头,左指针left向右移动而右指针righ...

  • 快速排序

    一、partition quicksort 分治+递归 快速排序一次划分算法伪代码: 将i和j分别指向待排序列最左...

  • 算法导论公开课笔记(二)快速排序和随机化算法

    快速排序 与归并排序一样,快速排序也使用了分治的思想解决排序问题。对一个典型的子数组A[p..r]进行快速排序的三...

  • LeetCode 148——排序链表

    1. 题目 2. 解答 2.1 快速排序 可参考 快速排序和归并排序 中的第一种快速排序思想,与在数组中排序有两点...

  • 快速排序算法

    快速 排序与冒泡排序类型 都是基于交换 但是效率比冒泡排序更高 快速排序思想首先设定一个分界值 将数...

  • 排序算法6:快速排序

    数据结构与算法 快速排序为应用最多的排序算法,因为快速二字而闻名。快速排序和归并排序一样,采用的都是分治思想。 分...

  • 排序 -- 选择/插入

    聊聊排序吧 冒泡排序 选择排序 插入排序 快速排序 归并排序 计数排序 桶排序 堆排序 本篇 选择排序与插入排序 ...

  • 3.2-选择排序-堆排序

    参考链接 选择排序:堆排序(Heap Sort) 白话经典算法系列之七 堆与堆排序 堆排序与快速排序,归并排序一样...

  • 排序算法-2(javascript) 快速排序的实现

    快速排序 快速排序是冒泡排序的优化,与冒泡排序不同的是,使用了分治法,进行优化。会随机选取一个值pivot(基准元...

网友评论

      本文标题:划分算法与快速排序

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