快速排序的算法原理是冒泡排序的一中改进版,是不稳定的,平均/最好时间复杂度为0,元素基本有序最坏的时间复杂度0,空间复杂度0.

首先选择一个基本的准元素,通过一趟排序将要排序的数据分割成独立的两部分,一部分全部小于等于基准元素,一部分全部大于等于基准元素,再按照此方法递归对则这两部分数据进行快速排序。

快速排序的一次次划分从两头交替搜索,直到low 和hig指针重合,一趟时间复杂度0,整个算法的时间复杂度与规划趟数有关。

最好情况是每个划分选择的中间数恰好将当前的序列等分,经过趟化分便可得到长度为1的子表,这样复杂度哦。

最坏的情况是每次所选中间数是当前序列中的最大化,或i这是最小元素,这使得每次的划分所得子表其中一个为空表,这样的长度为n的数据表需要n躺划分,整个排序时间复杂度O。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐