快速排序

您所在的位置:网站首页 伪代码实现快速排序 快速排序

快速排序

2023-08-08 20:02| 来源: 网络整理| 查看: 265

1.提出问题

        快速排序某个列表中的元素,按照从小到大的顺序进行排列。

2.算法分析

        基于分治算法策略,设定一个基准线(pivot),将数据与基准线对比,分成大于和小于部分,把小于基准数的元素放到左边,把大于基准数的元素放到右边,通过递归操作,不断通过分治算法实现排序,不断拆分,直到将序列拆到只剩一个或者零个元素的时候排列结束。

3.实现代码 def quick_sort(n): if len(n) < 2: return n else: pivot = n[0] left = [x for x in n[1:] if x < pivot] right = [x for x in n[1:] if x > pivot] return quick_sort(left) + [x for x in n if x == n[0]] + quick_sort(right) if __name__ == "__main__": test_list = [10, 23, 4, 67, 6, 9, 16, 33, 15, 65, 34] print(quick_sort(test_list))

输出结果:

[4, 6, 9, 10, 15, 16, 23, 33, 34, 65, 67]

总结:通过一次排序将要排序的数据分割成独立的两个部分,其中一部分比另一部分都要小,按照此方法再对这两部分分别进行快速排序,不断递归,最终达到目的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3