快速排序
概述快速排序(Quick Sort)是从冒泡排序算法演变而来的,实际上是在冒泡排序基础上的递归分治法。快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。 动画展示我们借用五分钟学算法的gif动图来展示快速排序的过程 思路解析 初始序列3 5 8 1 2 9 4 7 6 这里第一步选择最后一个元素6为基准值 初始左指针位置为第一个元素3,右指针位置为除基准外的最后一个值7 左指针先走,左指针的职责就是往右走直到遇到大于基准值的元素 右指针的职责就是往左走直到遇到小于基准值的元素 当左右指针都停止并且还没相遇的时候就交换左指针所指元素和右指针所指元素 如果左右指针相遇,说明相遇的位置就是基准值的位置,左边全是比基准值小的元素,右边全是比基准值大的元素,这里就体现了分支递归的思想。 左右部分各重复上述过程 算法性能时间复杂度 最坏情况(Worst...