栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python快速排序

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python快速排序

前言

快速排序,比较常用,撸了一下代码,加深印象。
时间复杂度为O(logn),
最坏的情况下是O(n^2),序列基本有序的情况下

程序
def quick_sort(l, r):
    if l >= r:
        return
    i, j = l, r
    key = nums[i]

    while i < j:
        while i < j and nums[j] >= key:
            j = j - 1
        nums[i] = nums[j]

        while i < j and nums[i] <= key:
            i = i + 1
        nums[j] = nums[i]

    nums[i] = key

    quick_sort(l, i - 1)
    quick_sort(i + 1, r)


nums = [3, 30, 34, 5, 9]

quick_sort(0, len(nums) - 1)

print(nums)

结果展示

[3, 5, 9, 30, 34]

步骤:
挑元素、划分组、分组重复前两步

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号