当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于快速排序算法的快速分页排序方法技术

技术编号:2865964 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于快速排序算法的快速分页排序方法。现有的排序方法在对所有数据完全排序之前难以知道指定范围内包括哪些数据及它们之间的顺序,所以现有技术是对所有数据先进行完全排序,然后输出指定范围的数据子集,这必然存在大量不必要的计算开销,影响了计算机系统的响应速度。本发明专利技术所述的方法主要是采用类似快速排序算法(Quick  Sort)分治的策略,利用缓存机制,不断将不属于指定范围内的元素排除,并逐渐排序定位指定范围内的数据,从而解决了快速分页排序的问题。采用本发明专利技术所述的方法,能有效地解决海量数据环境下的分页排序问题,大大减少了不必要的计算开销,避免了重复计算,提高了计算机系统的响应速度。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术属于智能信息处理
,具体涉及。
技术介绍
排序是计算机进行信息处理的基本功能,应用范围极为广泛,特别是在信息检索、数据库系统、数据分析和数据挖掘中被大量使用。目前,用计算机进行内部排序的主要方法是基于对关键字的比较和交换两种操作,基于这一思想的各种排序方法中以快速排序算法(Quick Sort)具有最佳的平均特性,其时间复杂度为0(N log2N),并已接近理论下界。(Donald E.Knuth.The art of computer programming(J)Sorting andSearching,Addison Wesley Publishing Company,Inc.,Vo3,1973145~158)快速排序算法的基本思想是基于分治的策略,对于输入的子序列L,如果规模足够小则直接进行排序,否则分三步处理第一步,分解将输入的序列L划分成两个非空子序列L和L,使L中任一元素的值不大于L中任一元素的值。第二步,递归求解通过递归调用快速排序算法分别对L和L进行排序。第三步,合并由于对分解出的两个子序列的排序是就地进行的,所以在L和L都排好序后不需要执行任何计本文档来自技高网...

【技术保护点】
一种基于快速排序算法的快速分页排序方法,包括以下步骤:    1)检查:根据输入的待排序的序列L[p..r]与指定排序范围[first,last]检查缓存区信息;如果是第一次对输入序列进行分页排序的话,则初始化缓存区信息;    2)选择:针对待排序的序列L[p..r]选择一个键值,本方法中将该键值称为分解点;    3)分解:利用分解点将序列L[p..r]划分成两个非空子序列区间L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于分解点,而且L[q+1..r]中任一元素的值不小于分解点;也就是使L[p..q]中任一元素的值不大于L[q+1..r]中任何元素的值;    4...

【技术特征摘要】

【专利技术属性】
技术研发人员:杨建武陈晓鸥吴於茜
申请(专利权)人:北京大学北京北大方正技术研究院有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1