[发明专利]用于使用数组对来合并有序列表的方法和系统有效
申请号: | 201480027746.X | 申请日: | 2014-05-12 |
公开(公告)号: | CN105264488B | 公开(公告)日: | 2018-04-27 |
发明(设计)人: | J·D·戈德斯汀;B·钱德拉穆里 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F7/32 | 分类号: | G06F7/32;G06F7/24 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 数组 合并 有序 列表 | ||
技术领域
本申请涉及有序列表,尤其涉及使用数组对来合并有序列表。
背景技术
列表是元素序列。有序列表是根据特定排序优先级(诸如字母顺序、递增值等)来排序的列表。有序列表保证对于每一对连续元素,先前元素满足相对于后续元素的特定排序优先级。例如,假设列表包括整数序列,并且排序优先级是递增值排序优先级。在这种情况下,如果对于序列中的每一对连续整数,后续整数等于或大于先前整数,则整数列表将根据递增值来排序。每一有序列表包括首元素,该首元素是排序优先级中的最高优先级,并由此是有序列表中的第一元素。每一有序列表还包括尾元素,该尾元素是排序优先级中的最低优先级,并由此是有序列表中的最后元素。
存在数十年前开发的用于将输入有序列表合并成根据与输入有序列表相同的排序优先级来排序的合并有序列表的特定方法(在此被称为“优先级排队方法”)。该优先级排队方法使用优先级队列来制定合并列表,并且涉及排序操作的多个阶段。在第一阶段中,来自所有输入有序列表的每一首元素被放置在优先级队列中,并由此优先级队列中的每一空间都对应于输入有序列表。在每一排序阶段中,通过将优先级队列内的最高优先级元素移至合并有序列表的末尾作为该合并有序列表的新尾元素来将合并有序列表扩展一个元素。来自输入有序列表的与通过该移动腾空的空间相对应的未经处理的最高优先级元素然后通过将该元素复制到被腾空空间中来处理,由此完成排序阶段。
发明内容
根据本文描述的至少一个实施例,使用数组对来分多个阶段从多个输入有序列表中制定合并有序列表。最初,用输入有序列表来连续填充第一数组。在第一阶段中,将第一和第二输入有序列表合并成第二数组中的第一中间合并列表。每一后续阶段合并从先前阶段产生的先前中间合并列表和第一数组中的下一输入有序列表,以生成下一中间合并列表或者最终合并有序列表(如果第一数组中不再有输入)。中间合并列表从一个阶段到下一阶段在第一数组和第二数组之间交替。
在一些实施例中,合并技术对于在顺序读取和写入操作方面是更高效的现代微处理器可以是特别高效的,因为合并可通过数组对在顺序操作中执行。该概述不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在被用来帮助确定所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1抽象地示出其中可采用本文描述的一些实施例的计算系统;
图2示出根据本文描述的原理的用于制定合并有序列表的方法的流程图;
图3示出了用于处理图2的排序操作的每一排序阶段的方法的流程图;
图4A到4E示出了与一示例的第一排序阶段相关联的五个顺序排序状态操作,其中第一输入有序列表和第二输入有序列表被组合成第一中间合并有序列表;
图5A到5J示出了与该示例的第二排序阶段相关联的十个顺序排序状态操作,其中第一中间合并有序列表与第三输入有序列表合并以形成第二中间(并且可能是最终)合并有序列表;
图6示出了用于访问输入有序列表的方法的流程图;以及
图7示出了用于处理元素以形成有序列表的更一般化的方法的流程图。
具体实施方式
根据本文描述的实施例,描述了合并有序列表的制定。该制定使用多个输入有序列表并且使用数组对来分多个阶段进行。最初,用输入有序列表来连续填充第一数组。在第一阶段中,将第一和第二输入有序列表合并成第二数组中的第一中间合并列表。每一后续阶段合并从先前阶段产生的先前中间合并列表和第一数组中的下一输入有序列表,以生成下一中间合并列表或者合并有序列表(如果第一数组中不再有输入)。中间合并列表从一个阶段到下一阶段在第一数组和第二数组之间交替。
将参考图1来描述对计算系统的一些介绍性讨论。然后,将参考图2至7来描述有序列表合并的原理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480027746.X/2.html,转载请声明来源钻瓜专利网。