- 8
- 0
- 约2.7千字
- 约 2页
- 2017-08-15 发布于安徽
- 举报
重璺查堂堂塑
一——
一种新的快速排序算法的研究
Onthe Sort
QuickAlgorithm
Non—comparative
江华。
(韶关学院计算机系,广东韶关512005)
本文提出的非比较分段快速排序算法不但可对无符号整数进行排序,稍加改变,还可对有符号整数和实型数据进
行排序。理论分析和上机测试均表明:算法时间复杂度为O(N),附加存储空间仅为256·11(n为数据的字节宽),在
数据量大的情况下,其性能远远优于QuickSort算法。
1无符号整数非比较分段排序思想(简称NCSS)
节信息对数据进行统计和重排处理。
对应BO字节所表示的无符号数据值。分段整理后,段阃有序,段内无序。
对各个一级子段中的数据根据B1字节信息进行分段整理。每一个一级子段又可分为256个二级子段。
持续上述分段整理工作,直到用Bn-I字节信息将每个n.I级子段分为256个n级子段时,由于n级子段的段间
距为1,因此整个排序工作结束。
整个排序的过程是一个递归的分段整理过程。
2有符号整数非比较分段排序思想(简称SNCSS)
在计算机中,有符号整型数据是以补码的形式存储并参与各种运算。根据补码定义可知,当整数A和整数B同
为正数或负数,且无符号整数C和D的二进制代码分别与A和B的补码相一致时,只要AB成立,则必有CD成
立;但如果A、B异号时,当AB,则有CD成立。根据这一性质,对NCSS算法进行一些修改,即可适合于有符
号整型数据的排序。具体修改如下:
如果是按由小到大的顺序排列数据,则在第一步根据数据的高八位二进制信息进行分段整理时,将负数所对应的
一级子段段号安排在O一127之间,正数所对应的一级子段段号安排在128--255之间。接下来的步骤与NCSS同。
3实型数据非比较分段排序思想(简称RNCSS)
对于一个给定长度的=进制代码序列d,如果按无符号整数进行解释,则是一个一一对应的关系。记为:
rg(d)。如果按实型数据进行解释,则也是一种一~对应的关系,记
r业标准。根据IEEE754
为:x=h(d)。两者合并,记为:尸坟x)。PC机中的实型数据编码格式采用的是IEEE754
区间『0,+∞)上单调递增。如果xl∈(一∞,0),x2仨【0,+∞),则有yly2。
RNCSS算法首先将待排序的实型数据通过映射关系f映射到无符号整数集上,形成数列A;然后采用NCSS算
法对数列A中的数据进行排序,形成数列B;再用f的逆映射将数列B中的数据映射回实型数据集中,形成数列C;
最后利用映射关系f所确定的单调区间和单调增/减特性对数列C中的数据进行调整。
通过NCSS算法进行排序后,数据是按照Y非降序排列,段号为0-127的一级子段上的数据对应的x≥0,段号
作者简介:江华(1970一)-男·湖南醴陵人,韶关学院计算机系讲师、高级程序员,华南理工大学硕士生,主研领
域:算法设计与软件工程。
2003年全国理论计算机科学学术年会论文集
为128~255的一级子段中的数据对应的xO。
调整的方法是将段号为128-255的一级子段中的数据反序存放后.调整到整个数据序列的低端;段号为0-127
的~级予段的数据顺序调整到整个数据序列的商端,最后得到结果数据序列。
4算法分析
字节宽度有关.而与数据规模N无关,因此加上存放待排序数据的线性表空间,算法的空间度是O(N)。
若在NCSS算法中,取下列几个基本操作:
对一个数据进行统计的时间为tl
计算一个子段的起始位置的时间为t2
移动一个数据到对应的位置上的时间为t3
若对n个数据进行一次分段操作,则时间耗费函数为:
(4】)
T(n)=n*tl+256+t2+
您可能关注的文档
最近下载
- 磁共振温度图像重建方法、装置、设备、介质及程序产品.pdf VIP
- 金田JTE 388系列变频器使用手册.pdf
- 人教版(PEP)2026-2027学年四年级英语下册教学计划(及进度表).docx
- 东北师范大学2021-2022学年第1学期《线性代数》期末考试试卷(A卷)及标准答案.docx
- 新生儿科消防安全知识培训.pptx VIP
- 第五章+中国的地理差异+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 第五章+中国的地理差异+第1课时+课件-2023-2024学年八年级地理下学期人教版.pptx VIP
- 【地理】中国的地理差异第1课时课件-2025-2026学年人教版地理八年级下册.pptx VIP
- 第五章+中国的地理差异+第1课时课件2022-2023学年人教版地理八年级下册.pptx VIP
- ACI_318-05美国混凝土结构设计规范(中文版).docx VIP
原创力文档

文档评论(0)