学编程必须了解的排序算法——快速排序
什么是排序算法?
将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。
例如:有一组无序序列(1 3 8 4 9 0 2),排序后得到有序序列(01 2 3 4 8 9)。
常见排序算法有什么?
快速排序、选择排序、冒泡排序、归并排序等。
今天就讲解一下快速排序。
快速排序
快速排序是一种“分而治之”的排序算法,通过随机选择“分区点”来避免出现最坏的情况。
演示需求:若干高低不同的圆柱,一个木板用于放置圆柱,一支笔,一个骰子。
1.随机选择“分区点”
2.按照“分区点”的高度划条线
3.高出“分局点”的元素需要向右移动
4.低于“分区点”的元素需要向左移动
5.移动元素
6.重复上述(1-5)的步骤分别对位于“分区点”两边的元素进行排序,最后得到有序序列。
请问:现在明白什么是快速排序了么