vlambda博客
学习文章列表

学编程必须了解的排序算法——快速排序

什么是排序算法?

   将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。

例如:有一组无序序列(1 3 8 4 9 0 2),排序后得到有序序列(01 2 3 4 8 9)。

 

常见排序算法有什么?

快速排序、选择排序、冒泡排序、归并排序等。

今天就讲解一下快速排序。

 

快速排序 

快速排序是一种分而治之的排序算法,通过随机选择分区点来避免出现最坏的情况。 

 

  演示需求:若干高低不同的圆柱,一个木板用于放置圆柱,一支笔,一个骰子。

学编程必须了解的排序算法——快速排序

1.随机选择分区点

学编程必须了解的排序算法——快速排序


2.按照分区点的高度划条线

    

学编程必须了解的排序算法——快速排序


3.高出分局点的元素需要向右移动

学编程必须了解的排序算法——快速排序


4.低于分区点的元素需要向左移动

学编程必须了解的排序算法——快速排序


5.移动元素

学编程必须了解的排序算法——快速排序


6.重复上述(1-5)的步骤分别对位于分区点两边的元素进行排序,最后得到有序序列。


请问:现在明白什么是快速排序了么