Python编程:排序算法之快速排序

简介: Python编程:排序算法之快速排序

快速排序

取一个元素p(第一个元素),使元素p归位

列表被p分成两部分,左边都比p小,右边都比p大

递归完成排序

算法关键点

  • 整理
  • 递归(递归深度)


排序方法

最好情况

一般情况

最坏情况

快速排序

O(nlogn)

O(nlogn)

O(n^2)

冒泡排序

O(n)

O(n^2)

O(n^2)

代码实现

import random
# 分区函数
def partition(lst, left, right):
    tmp = lst[left]
    while left<right:
        while left<right and lst[right]>=tmp:
            right -= 1
        lst[left] = lst[right]
        while left<right and lst[left]<=tmp:
            left += 1
        lst[right] = lst[left]
    lst[left] = tmp
    return left
# 快速排序
def quick_sort(lst, left, right):
    if left < right:
        mid = partition(lst, left, right)
        quick_sort(lst, left, mid-1)
        quick_sort(lst, mid+1, right)
lst = list(range(10))
random.shuffle(lst)
quick_sort(lst, 0, len(lst)-1)
print(lst)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
相关文章
|
8天前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
73 5
|
1月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
139 26
|
1月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
205 102
|
1月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
222 104
|
1月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
196 103
|
1月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
141 82
|
1月前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
181 4
|
1月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
|
1月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
38 0
|
1月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
133 0

热门文章

最新文章

推荐镜像

更多