一种矢量排序装置、方法及存储介质制造方法及图纸

技术编号:37821621 阅读:9 留言:0更新日期:2023-06-09 09:57
本发明专利技术涉及排序算法领域,具体为一种矢量排序装置包括:选择单元,比较及交换单元,合并单元;所述选择单元包括矢量片段选择单元及元素选择单元;所述比较及交换单元包括比较单元及交换单元;所述合并单元包括元素合并单元及矢量片段合并单元;所述选择单元根据矢量片段的排序状态选择所述矢量片段,使得元素已排序的所述矢量片段中的元素较元素未排序的矢量片段中的元素进行更少的比较。本发明专利技术解决了现有技术矢量排序过程中效率低的技术问题,快速、高效地实现任意长度、不同内部随机性及规律性特点的矢量的快速排序。律性特点的矢量的快速排序。律性特点的矢量的快速排序。

【技术实现步骤摘要】
一种矢量排序装置、方法及存储介质


[0001]本专利技术涉及排序算法领域,具体涉及一种矢量排序装置、方法及存储介质。

技术介绍

[0002]矢量排序过程中,待排序的矢量内数组的长度、数组的随机性或规律性均可能存在差异。不考虑矢量内部的元素情况进行矢量排序,尤其是当矢量中存在可能已部分排序或有规律的数组,采用统一的矢量排序方法无差别对待不同内部情况的矢量,往往容易造成排序过程比较交换过程的冗余,降低矢量排序的效率。

技术实现思路

[0003]为解决现有技术矢量排序过程中效率低的技术问题,本专利技术提出一种矢量排序装置、方法及存储介质。
[0004]本专利技术的第一方面提供了一种矢量排序装置,包括:
[0005]选择单元,比较及交换单元,合并单元;
[0006]所述选择单元包括矢量片段选择单元及元素选择单元;
[0007]所述比较及交换单元包括比较单元及交换单元;
[0008]所述合并单元包括元素合并单元及矢量片段合并单元;
[0009]所述选择单元根据矢量片段的排序情况执行选择,使得元素已排序的所述矢量片段中的元素较元素未排序的矢量片段中的元素进行更少的比较。
[0010]在一些实施例中,所述矢量排序装置包括第一排序指令、第二排序指令、第三排序指令;
[0011]所述第一排序指令用于建立数据矢量与索引矢量之间的排序;
[0012]所述第二排序指令用于建立数据矢量与数据矢量之间的排序;
[0013]所述第三排序指令用于建立索引矢量与索引矢量之间的排序。
[0014]在一些实施例中,所述矢量排序装置包括第一操作指令、第二操作指令、第三操作指令;
[0015]所述第一操作指令用于顺序建立相邻两个元素之间的排序;
[0016]所述第二操作指令用于顺序建立排除第一个元素和最后一个元素后,相邻两个元素之间的排序;
[0017]所述第三操作指令用于在矢量前半部和矢量后半部顺序分别选择一个元素,建立矢量前半部和矢量后半部顺序选择的两个元素的排序。
[0018]在一些实施例中,所述矢量片段选择单元被配置为执行所述第一排序指令、和/或所述第二排序指令、和/或所述第三排序指令内部的矢量片段选择;所述元素选择单元被配置为基于所述矢量片段选择单元拆分选择后的矢量片段,执行第一操作指令、和/或第二操作指令、和/或第三操作指令之间的矢量片段的选择。
[0019]在一些实施例中,所述元素合并单元用于将片段内交换顺序后的元素置于排序位
置;所述矢量片段合并单元用于将矢量片段合并。
[0020]在一些实施例中,所述第一排序指令为:
[0021]以所述第一操作指令或所述第二操作指令或所述第三操作指令对所述数据矢量执行排序,获得排序数据矢量;
[0022]基于所述排序数据矢量对所述索引矢量执行排序,获得排序索引矢量。
[0023]在一些实施例中,所述第二排序指令为:
[0024]选择第一数据矢量的第一片段与第二数据矢量的第二片段;
[0025]以所述第一操作指令或所述第二操作指令或所述第三操作指令对合并的所述第一数据矢量的第一片段与所述第二数据矢量的第二片段执行排序,获得排序数据矢量;
[0026]将所述排序数据矢量的第一片段与所述第一数据矢量的第二片段执行合并,将所述第二数据矢量的第一片段与所述排序数据矢量的第二片段执行合并;
[0027]所述第一数据矢量的第一片段包含的元素数量与所述第一数据矢量的第二片段包含的元素数量相等;所述第二数据矢量的第一片段包含的元素数量与所述第二数据矢量的第二片段包含的元素数量相等。
[0028]在一些实施例中,所述第三排序指令为:
[0029]选择第一索引矢量的第一片段与第二索引矢量的第二片段;
[0030]基于排序信息,对合并的所述第一索引矢量的第一片段与所述第二索引矢量的第二片段执行排序,获得排序索引矢量;
[0031]将所述排序索引矢量的第一片段与所述第一索引矢量的第二片段执行合并,将第二索引矢量的第一片段与所述排序索引矢量的第二片段执行合并;
[0032]所述第一索引矢量的第一片段包含的元素数量与所述第一索引矢量的第二片段包含的元素数量相等;所述第二索引矢量的第一片段包含的元素数量与所述第二索引矢量的第二片段包含的元素数量相等。
[0033]本专利技术第二方面提出一种矢量排序方法,包括:
[0034]选择至少一个矢量的第一片段和矢量的第二片段;
[0035]选择至少一个矢量的第一片段元素和矢量的第二片段的元素;
[0036]对至少一个矢量的第一片段的元素和矢量的第二片段的元素执行比较及排序;
[0037]合并所述排序后的矢量的第一片段和矢量的第二片段;
[0038]所述选择至少一个矢量的第一片段和矢量的第二片段,使得元素已排序的所述矢量片段在所述比较及交换单元不进行所述矢量片段内的元素的比较及交换;
[0039]所述选择至少一个矢量的第一片段和矢量的第二片段基于第一排序指令、和/或第二排序指令、和/或第三排序指令;
[0040]所述第一排序指令用于建立数据矢量与索引矢量之间的排序;
[0041]所述第二排序指令用于建立数据矢量与数据矢量之间的排序;
[0042]所述第三排序指令用于建立索引矢量与索引矢量之间的排序;
[0043]所述选择至少一个矢量的第一片段元素和矢量的第二片段的元素基于第一操作指令、第二操作指令、第三操作指令;
[0044]所述第一操作指令用于顺序建立相邻两个元素之间的排序;
[0045]所述第二操作指令用于顺序建立排除第一个元素和最后一个元素后,相邻两个元
素之间的排序;
[0046]所述第三操作指令用于在矢量前半部和矢量后半部顺序分别选择一个元素,建立矢量前半部和矢量后半部顺序选择的两个元素的排序。
[0047]本专利技术的第三方面提出一种计算机可读存储介质,其上存储有上述的矢量排序装置。
[0048]本专利技术通过将矢量分为片段,基于矢量片段内的特点执行差异化的指令,快速、高效地实现任意长度、不同内部随机性及规律性特点的矢量的快速排序,避免了对矢量内规律的片段进行重复排序,提高了矢量排序效率。
附图说明
[0049]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0050]图1为本专利技术第一实施例提供的矢量排序装置的框图;
[0051]图2为本专利技术第一实施例提供的矢量排序装置的第一排序指令执行流程图;
[0052]图3为本专利技术第一实施例提供的矢量排序装置的第二排序指令执行流程图;
[0053]图4为本专利技术第一实施例提供的矢量排序装置的第三排序指令执行流程图;
[0054本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矢量排序装置,其特征在于,包括:选择单元,比较及交换单元,合并单元;所述选择单元包括矢量片段选择单元及元素选择单元;所述比较及交换单元包括比较单元及交换单元;所述合并单元包括元素合并单元及矢量片段合并单元;所述选择单元根据矢量片段的排序情况执行选择,使得元素已排序的所述矢量片段中的元素较元素未排序的矢量片段中的元素进行更少的比较。2.根据权利要求1所述的矢量排序装置,其特征在于,所述矢量排序装置包括第一排序指令、第二排序指令、第三排序指令;所述第一排序指令用于建立数据矢量与索引矢量之间的排序;所述第二排序指令用于建立数据矢量与数据矢量之间的排序;所述第三排序指令用于建立索引矢量与索引矢量之间的排序。3.根据权利要求2所述的矢量排序装置,其特征在于,所述矢量排序装置包括第一操作指令、第二操作指令、第三操作指令;所述第一操作指令用于顺序建立相邻两个元素之间的排序;所述第二操作指令用于顺序建立排除第一个元素和最后一个元素后,相邻两个元素之间的排序;所述第三操作指令用于在矢量前半部和矢量后半部顺序分别选择一个元素,建立矢量前半部和矢量后半部顺序选择的两个元素的排序。4.根据权利要求3所述的矢量排序装置,其特征在于,所述矢量片段选择单元被配置为执行所述第一排序指令、和/或所述第二排序指令、和/或所述第三排序指令内部的矢量片段选择;所述元素选择单元被配置为基于所述矢量片段选择单元拆分选择后的矢量片段,执行第一操作指令、和/或第二操作指令、和/或第三操作指令之间的矢量片段的选择。5.根据权利要求1所述的矢量排序装置,其特征在于,所述元素合并单元用于将片段内交换顺序后的元素置于排序位置;所述矢量片段合并单元用于将矢量片段合并。6.根据权利要求3所述的矢量排序装置,其特征在于,所述第一排序指令为:以所述第一操作指令或所述第二操作指令或所述第三操作指令对所述数据矢量执行排序,获得排序数据矢量;基于所述排序数据矢量对所述索引矢量执行排序,获得排序索引矢量。7.根据权利要求3所述的矢量排序装置,其特征在于,所述第二排序指令为:选择第一数据矢量的第一片段与第二数据矢量的第二片段;以所述第一操作指令或所述第二操作指令或所述第三操作指令对合并的所述第一数据矢量的第一片段与所述第二数据矢量的第二片段执行排序,获得排序数据矢量;将所述排序数据矢量的第一片段与...

【专利技术属性】
技术研发人员:王和国韩景通肖海勇汪永威
申请(专利权)人:深圳云天励飞技术股份有限公司
类型:发明
国别省市:

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

1