算导--7-2-b.构造新的PARTITION'(A, p, r)
来源:互联网 发布:qq飞车黄金米格数据 编辑:程序博客网 时间:2024/05/17 22:28
修改PARTITION(A, p, r)来构造一个新的PARTITION'(A, p, r),他排列A[p..r]的元素,返回值是两个数组下标q和t,其中,p<=q<=t<=r,且有A[p..q-1]的中的元素都小于A[q],A[q..t]的元素都相等,A[t+1..r]的中的元素都大于A[q]。
时间复杂度是O(r-p)。
伪代码如下:
主要思想:若A[j]比A[p]小,则把目前标识与A[p]相等的值的最大下标加一处的值(第一个大于A[p]的值)放到原来A[j],目前标识与A[p]相等的值的最小下标的值(即第一个等于A[p]的值)放到目前标识与A[p]相等的值的最大下标加一处,然后把原来A[j]的值放到原来A[i]处,i和h一起向右移动;若A[j]和A[p]一样大,则目前标识与A[p]相等的值的最大下标加一处的值(第一个大于A[p]的值)与A[j]交换,h后移一位;若A[j]比A[p]大,把j后移一位。
0 0
- 算导--7-2-b.构造新的PARTITION'(A, p, r)
- MyClass a,b[2],*p[2]调用了几次构造函数
- 1063 A^B%P
- XDOJ1265 - A^B % P
- 基于 J a v a S c r i p t 与 D B G R I D控件的 B / S结构客户端联想式录入技术的设计与实现
- C r e a t e P r o c e s s的b I n h e r i t H a n d l e s参数
- p(a|b)=p(ab)/p(b)为什么?
- MappedByteBuffer的使用
- P(AB)与P(B|A)区别!!!!!!
- 条件概率 -- P(A|B) P(B|A)
- A *p=new B;
- 求解次方的次方。pow(a,pow(b,c))%p
- 解一类x^a = b (mod p)的方程
- java计算混淆矩阵(分类指标:查准率P,查全率R,P和R的调和均值F1,正确率A)
- hdu2837 Calculation a^b%p=a^(b%phi(p)+phi(p))%p
- 新工程,A push B的设置
- 关于arcmap的VBA不能使用解决办法
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- struts2中三种参数传递问题
- 初级教程之 三 Android四种存储方式
- substr(), substring(), slice()用法及区别
- Android Volley完全解析(二),使用Volley加载网络图片
- 谷歌面试题f(n)=n解析
- 算导--7-2-b.构造新的PARTITION'(A, p, r)
- 《精力管理》读书笔记——第一部分
- iOS 发布过程中出错
- 18.ELK实时日志分析平台之Elasticsearch安装配置
- 自带响应式的中国工商银行
- Android Volley完全解析(三),定制自己的Request
- [JFinal 2] JFinal 开发框架
- java中的堆、栈、常量池
- leetcode 45. Jump Game II