QuickSort中PARITION与HOARE-PARITION之分析
来源:互联网 发布:苹果mac air办公用 编辑:程序博客网 时间:2024/05/21 21:53
最初的parittion版本:HOARE-PARTITION(A, p, r)1 x ← A[p]2 i ← p - 13 j ← r + 14 while TRUE5 do repeat j ← j - 16 until A[j] ≤ x7 repeat i ← i + 18 until A[i] ≥ x9 if i < j10 then exchange A[i] ↔ A[j]11 else return j
改进后的版本:PARTITION(A, p,r)
1 x ← A[r]
2 i ← p - 1
3 for j ← p to r- 1
4 do if A[j] ≤ x
5 then i ← i +1
6 exchange A[i] ↔A[j]
7 exchange A[i + 1] ↔ A[r]
8 return i + 1
改进后有什么变化呢?
1.PARITION只需用一个i指针,x[i]为分割成三个部分。
2.HOARE-PARITION用了两个指针i及j,但未分割成三个区间,而是获得两个区间,X[p...i] <= X[p],X[j...r] >= X[p]。3.左边的部分小于分割主元,而大于j的部分大于分割主元,当while终止时,p<=j<=i<r(假设至少有2个元素),则X[j+1...r]>=X[p], X[1...j] <= X[p].
- QuickSort中PARITION与HOARE-PARITION之分析
- LAG与OVER(PARITION BY)(转载)
- 第七章快速排序之“快速排序Hoare版本HOARE-QUICKSORT”(思考题7-1)
- hive parition的使用,分dynamic和static两种
- 如何mount guest vm的parition到dom0
- 算法导论第七章-思考题7-1HOARE-QUICKSORT-C++
- MergeSort与QuickSort的详细分析
- QuickSort 快速排序的分析与实现
- (算法设计技巧与分析)QuickSort
- 【数据结构】 MergeSort与QuickSort的详细分析
- MergeSort与QuickSort的详细分析
- C++中sort与quicksort调用方法
- MergeSort与QuickSort
- 算法分析之排序:交换排序之二——快速排序(QuickSort)
- 算法-QuickSort及其复杂度分析
- QuickSort详解与算法实现
- quicksort算法实现与原理
- 分治练习之Ultra-QuickSort
- JSP下取当前时间并显示的代码,jsp年月日显示时间
- sqlite学习笔记
- C++多态的实现原理
- poj1422 zoj1525 Air Raid 最小路径覆盖
- ios开发中自定义 UISegmentedControl 中每个segment的tintcolor
- QuickSort中PARITION与HOARE-PARITION之分析
- Qt 第六章 MailClient的例子
- 程序员!你应该读别人的心得,但是一定要自己注解
- Install chrooted CVS server on Ubuntu
- 读取大文件
- 专家支招:你是否适合学习Android?
- 链队列【9】
- Android adb shell 报错:more than one device and emulator
- 将chm转换为html或pdf