算法——排序——快速排序
来源:互联网 发布:平板淘宝卖家 编辑:程序博客网 时间:2024/05/22 14:23
快速排序:
1.原地排序
2.O(nlogn)(最坏O(n^2) 这也是严重缺点之一)
3.要尽量保证输入的元素是基本无序的,因为在有序情况下,其时间复杂度是O(n^2)
4.不稳定
5.与归并排序一样是分治法的经典算法
Code:
class Sort: @classmethod def sort(cls, arr): cls.sortQuick(arr, 0, len(arr) -1) @classmethod def sortQuick(cls, arr, lo, hi): if lo >= hi: return p = cls.position(arr, lo, hi) cls.sortQuick(arr, lo, p) cls.sortQuick(arr, p+1, hi) @classmethod def position(cls, arr, lo, hi): v = arr[lo] i = lo j = hi while True: while i < hi and arr[i] <= v: i += 1 while j > lo and arr[j] >= v: j -= 1 if i >= j: break else: arr[i], arr[j] = arr[j], arr[i] arr[lo], arr[j] = arr[j], arr[lo] return j
0 0
- 排序算法—快速排序
- 排序算法—快速排序
- 排序算法———快速排序
- 排序算法(一)——快速排序
- 排序算法——快速排序
- 排序算法——快速排序
- 经典排序算法——快速排序
- 排序算法——快速排序
- 经典排序算法——快速排序
- 经典排序算法——快速排序
- 排序算法5——快速排序
- 排序算法——快速排序
- 排序算法——快速排序
- 排序算法——快速排序
- c++排序算法——快速排序
- 算法——排序之快速排序
- 排序算法——快速排序
- 排序算法——快速排序
- 重新编辑servlet后tomcat无需重启的方法
- kafka性能与资源考虑
- truncate file
- Hadoop RPC机制
- 搜狐新闻爬虫
- 算法——排序——快速排序
- Hibernate单向一对多关联
- nyoj289苹果
- 点类
- Codeforces Round #303 (Div.2)-B. Equidistant String(模拟)
- 数据结构(10):二叉树基本功能的实现
- 关于linux安装Discuz的步骤
- 2.MaxSubArray-Leetcode
- android异常处理——try、catch、finally、throw、throws