python实现高速排序算法(两种不同实现方式)
2023-09-11 14:20:46 时间
# -*- coding: utf-8 -*- """ Created on Fri May 16 17:24:05 2014 @author: lifeix """ #高速排序 import sys import random length = 30 def qsort(arr,left,right): lp = left rp = right if lp == rp:return while True: while arr[lp] >= arr[right] and rp > lp: lp = lp +1 while arr[rp] <= arr[right] and rp > lp: rp = rp - 1 arr[lp],arr[rp] = arr[rp],arr[lp] if lp >= rp: break arr[rp],arr[right] = arr[right],arr[lp] if left < lp: qsort(arr,left,lp - 1) qsort(arr,rp,right) def main(): arr = [] sys.setrecursionlimit(100000) for i in range(length): arr.append(random.randint(0,10000)) qsort(arr,0,length-1) print arr if __name__ == '__main__': for i in range(10): main()
#高速排序另外一种实现 def quickSort(arr,p,r): if p < r: q = partition(arr,p,r) quickSort(arr,p,q - 1) quickSort(arr,q+1,r) def partition(arr,p,r): x = arr[r] i = p for j in range(p,r): if arr[j] < x: arr[i],arr[j] = arr[j],arr[i] i = i + 1 arr[i],arr[r] = arr[r],arr[i] return i if __name__ == '__main__': arr = [1,3,89,2,0,78,98,23,56,100] quickSort(arr,0,len(arr) - 1) print arr
相关文章
- Python数据结构与算法--算法分析
- Python排序算法之冒泡排序
- 八大排序算法的 Python 实现
- Python实现的选择排序算法原理与用法实例分析
- Python实现的选择排序算法原理与用法实例分析
- 【python基础】Linux环境下非root用户安装Python和第三方包
- Python实现的选择排序算法原理与用法实例分析
- Python实现的选择排序算法原理与用法实例分析
- Python排序搜索基本算法之归并排序实例分析
- 【python cookbook】【数据结构与算法】13.通过公共键对字典列表排序
- python code practice(二):KMP算法、二分搜索的实现、哈希表
- Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
- python --> Python初阶 --> 基础语法 --> 条件和分支
- 10 大经典排序算法 Python 版实现(附动图演示)
- 【阶段三】Python机器学习28篇:机器学习项目实战:KMeans算法的基本原理与KMeans聚类分群模型
- 【阶段三】Python机器学习13篇:机器学习项目实战:支持向量机分类的算法原理
- Python实现哈里斯鹰优化算法(HHO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战
- Python实现GWO智能灰狼优化算法优化LightGBM回归模型(LGBMRegressor算法)项目实战
- Python实现GWO智能灰狼优化算法优化LightGBM分类模型(LGBMClassifier算法)项目实战
- Python实现FA萤火虫优化算法优化支持向量机分类模型(SVC算法)项目实战
- 【数据结构与算法Python实践系列】5分钟学会经典排序算法-堆排序
- 【数据结构与算法Python实践系列】5分钟学会经典排序算法-冒泡排序
- 【Python 八股文】- 常见的排序算法
- 【Python算法】简单深搜练习
- Python编程:排序算法之冒泡排序
- python基础===一行 Python 代码实现并行(转)
- python 十大经典排序算法
- 八大排序算法的python实现
- 数据结构十大经典排序算法--Python
- 利用python实现3种梯度下降算法
- Python: 爬虫入门-python爬虫入门教程(非常详细)
- Python学习笔记十二之十大经典排序算法
- Python ---- 算法入门(3)分治算法解决【汉诺塔】问题
- 八大排序算法总结以及python实现