一种用于排序参数的数据排序方法与设备技术

技术编号:33850884 阅读:21 留言:0更新日期:2022-06-18 10:37
本申请的目的是提供一种用于排序参数的数据排序方法与设备。与现有技术相比,本申请与现有技术相比,本申请通过获取待排序的排序参数,并建立与所述排序参数总数匹配的结果存储空间;按照预设的预测方法及切片数确定所有排序参数的索引值;将所述索引值相同的所述排序参数存放在一个片段中,以生成多个与所述索引值对应的片段;根据所述索引值顺序依次将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。通过该方式预测各个排序参数的大致排序位置,从而减少了在确定排序位置过程中的冗余比较过程,因此,提高了排序速度,大大减少了排序过程中因冗余比较造成的时间消耗。中因冗余比较造成的时间消耗。中因冗余比较造成的时间消耗。

【技术实现步骤摘要】
一种用于排序参数的数据排序方法与设备


[0001]本申请涉及计算机
,尤其涉及一种用于排序参数的数据排序技术。

技术介绍

[0002]数据排序方法在数据统计、成绩排名、策略优选、遗传算法、接口签名等多种领域均具有重要应用,在大数据时代面临着对海量数据进行排序,因此,对排序的性能提出了更高的要求。
[0003]现有的排序方式大多数是经过多次递减范围的遍历再加上两两比较而进行的排序,虽然递减范围的方式有不一样,但难免会出现多次冗余的比较过程,这些冗余的比较操作使得对海量数据进行排序的时间开销大大增加,降低了排序的性能与速度。

技术实现思路

[0004]本申请的目的是提供一种用于排序参数的数据排序方法与设备。
[0005]根据本申请的一个方面,提供了一种用于排序参数的数据排序方法,其中,所述方法包括:
[0006]a获取待排序的排序参数,并建立与所述排序参数总数匹配的结果存储空间,其中,所述结果存储空间用以顺序存储所有排序参数;
[0007]b按照预设的预测方法及切片数确定所有排序参数的索引值,其中所述索引值代表该排序参数在所述结果存储空间的预测位置;
[0008]c将所述索引值相同的所述排序参数存放在一个片段中,以生成多个与所述索引值对应的片段;
[0009]d根据所述索引值顺序依次将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。
[0010]可选地,所述步骤d包括:
[0011]根据所述索引值顺序遍历各索引值对应的片段,当该索引值对应的片段符合预设的结果写入规则,将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。
[0012]可选地,所述步骤d包括:
[0013]根据所述索引值顺序遍历各索引值对应的片段,当所述片段不符合预设的结果写入规则,将所述所有排序参数更新为该片段中的排序参数,并重复步骤b、c及d。
[0014]进一步地,所述将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置包括:
[0015]设置初始值为所述结果存储空间首地址的结果存储标记;
[0016]将该索引值对应的片段中的所有排序参数从所述结果存储标记开始顺序写入所述结果存储空间中;
[0017]将所述结果存储标记后移至所述结果存储空间的首个未写入的地址。
[0018]进一步地,当所述结果存储空间以结果数组的方式表示,所述方法还包括:
[0019]将所述待排序的排序参数存储在待排序数组中;
[0020]其中,所述建立与所述排序参数总数匹配的结果存储空间包括:建立数组长度与所述排序参数总数相等的结果数组。
[0021]优选地,所述步骤c还包括:
[0022]设置数组长度等于预设切片数的切片数组,其中,所述切片数组为二维数组;
[0023]将所述片段按照其对应的索引值顺序以数组的形式存放在所述切片数组中。
[0024]进一步地,所述将所述片段按照其对应的索引值顺序以数组的形式存放在所述切片数组中包括:
[0025]将所述片段以数组的形式存放在数组下标等于该片段对应的索引值的切片数组元素中。
[0026]进一步地,所述根据所述索引值顺序遍历各索引值对应的片段包括:
[0027]按照所述切片数组的数组下标顺序遍历所述切片数组中的各个片段。
[0028]优选地,其中,所述结果存储标记的初始值为所述结果数组中下标为0的数组元素。
[0029]进一步地,所述将所述结果存储标记后移至所述结果存储空间的首个未写入的地址包括:
[0030]将所述结果存储标记对应的数组下标与写入的所述片段的排序参数个数进行累加,将其结果作为更新后的所述结果存储标记对应的数组下标。
[0031]优选地,所述符合预设的结果写入规则包括:
[0032]所述片段中的排序参数总数不超过2个。
[0033]进一步地,所述按照预设的预测方法及切片数依次确定所述待排序数组中各个排序参数对应的索引值包括:
[0034]获取所述待排序数组的最大值maxvalue、最小值minvalue、预设的切片数n及该排序参数值value,则该排序参数所处的片段的宽度step=(maxvalue

minvalue)/(n

1);
[0035]则该排序参数的索引值index=Math.floor((value

minvalue)/step)。
[0036]根据本申请的另一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述方法的操作。
[0037]根据本申请的再一方面,还提供了一种排序参数的数据排序设备,其中,该设备包括:
[0038]一个或多个处理器;以及
[0039]存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行上述方法的操作。
[0040]与现有技术相比,本申请通过获取待排序的排序参数,并建立与所述排序参数总数匹配的结果存储空间,其中,所述结果存储空间用以顺序存储所有排序参数;按照预设的预测方法及切片数确定所有排序参数的索引值,其中所述索引值代表该排序参数在所述结果存储空间的预测位置;将所述索引值相同的所述排序参数存放在一个片段中,以生成多个与所述索引值对应的片段;根据所述索引值顺序依次将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。通过该方式预测各个排序参
数的大致排序位置,从而减少了在确定排序位置过程中的冗余比较过程,因此,提高了排序速度,大大减少了排序过程中因冗余比较造成的时间消耗。
附图说明
[0041]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0042]图1示出根据本申请一个方面的一种用于排序参数的数据排序方法流程图;
[0043]图2示出根据本申请一个优选实施例的一种用于排序参数的数据排序方法流程图。
[0044]附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0045]下面结合附图对本专利技术作进一步详细描述。
[0046]在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0047]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0048]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于排序参数的数据排序方法,其中,所述方法包括:a获取待排序的排序参数,并建立与所述排序参数总数匹配的结果存储空间,其中,所述结果存储空间用以顺序存储所有排序参数;b按照预设的预测方法及切片数及切片数确定所有排序参数的索引值,其中所述索引值代表该排序参数在所述结果存储空间的预测位置;c将所述索引值相同的所述排序参数存放在一个片段中,以生成多个与所述索引值对应的片段;d根据所述索引值顺序依次将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。2.根据权利要求1所述的方法,其中,所述步骤d包括:根据所述索引值顺序遍历各索引值对应的片段,当该索引值对应的片段符合预设的结果写入规则,将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置。3.根据权利要求1所述的方法,其中,所述步骤d包括:根据所述索引值顺序遍历各索引值对应的片段,当所述片段不符合预设的结果写入规则,将所述所有排序参数更新为该片段中的排序参数,并重复步骤b、c及d。4.根据权利要求1至3中任一项所述的方法,其中,所述将该索引值对应的片段中的所述排序参数写入与该索引值对应的所述结果存储空间的预测位置包括:设置初始值为所述结果存储空间首地址的结果存储标记;将该索引值对应的片段中的所有排序参数从所述结果存储标记开始顺序写入所述结果存储空间中;将所述结果存储标记后移至所述结果存储空间的首个未写入的地址。5.根据权利要求1至4中任一项所述的方法,其中,当所述结果存储空间以结果数组的方式表示,所述方法还包括:将所述待排序的排序参数存储在待排序数组中;其中,所述建立与所述排序参数总数匹配的结果存储空间包括:建立数组长度与所述排序参数总数相等的结果数组。6.根据权利要求5所述的方法,其中,所述步骤c还包括:设置数组长度等于预设切片数的切片数组,其中,所述切片数组为二维数组;将所述片段按照其对应的索引值顺序以数组的形式存放在所述切...

【专利技术属性】
技术研发人员:秦巍
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

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

1