[发明专利]一种基于一维索引的组合遍历方法在审

专利信息
申请号: 202111292884.9 申请日: 2021-11-03
公开(公告)号: CN113986928A 公开(公告)日: 2022-01-28
发明(设计)人: 张游杰;吴伟;杨志杰;郑伟伟;张清萍;陈学丽 申请(专利权)人: 中电科鹏跃电子科技有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F9/46;G06F16/2455
代理公司: 太原荣信德知识产权代理事务所(特殊普通合伙) 14119 代理人: 杨凯;连慧敏
地址: 030032 山西省太原市*** 国省代码: 山西;14
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 索引 组合 遍历 方法
【说明书】:

发明属于数据处理算法技术领域,具体涉及一种基于一维索引的组合遍历方法,包括下列步骤:S1、建立n个集合Vi,每个所述集合Vi中有k个元素;S2、从每个集合Vi中任取一个元素,构成一个组合;S3、遍历所有S2所述的组合,构成集合G;S4、通过索引算法将集合G中的所有元素在一维空间生成组合索引Gindex;S5、通过for循环实现组合的遍历。本发明占用内存少,内存占用最大的是已知集合对应的变量,而在计算过程中额外占用的内存极少。本发明可适用于多线程和分布式计算,可以将组合索引值index的范围分段后,使用多线程或分布式计算方式,分别计算,以提高效率。

技术领域

本发明属于数据处理算法技术领域,具体涉及一种基于一维索引的组合遍历方法。

背景技术

排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。

组合的遍历是计算机软件中常见的一种应用。大部分组合遍历算法都是通过递归的方式来实现。但是,通过递归方式实现有以下几个缺点:1)由于递归是函数调用自身,而函数调用是存在时间和空间的消耗,运行效率较低。2)当调用的层次太多时,递归深度太大时,就会超出栈的容量,从而导致栈溢出。3) 难以采用多线程或分布式计算方式提高性能。为解决此问题,提出一种基于一维索引的组合遍历方法。

发明内容

针对上述的技术问题,本发明提供了一种额外占用内存极少、计算复杂度小、可完成大数据级的计算的基于一维索引的组合遍历方法。

为了解决上述技术问题,本发明采用的技术方案为:

一种基于一维索引的组合遍历方法,包括下列步骤:

S1、建立n个集合Vi,每个所述集合Vi中有k个元素;

S2、从每个集合Vi中任取一个元素,构成一个组合;

S3、遍历所有S2所述的组合,构成集合G;

S4、通过索引算法将集合G中的所有元素在一维空间生成组合索引Gindex

S5、通过for循环实现组合的遍历。

所述S1中的集合

所述S3中的集合G={(v1,v2…vn)|vi∈Vi},i=1,2…n,所述集合G的长度为kn

所述S4中的组合索引为一个等差递增数列。

所述S4中索引算法的方法为:

S4.1、组合索引值所述ji代表第i个集合Vi中被选中元素的序号,1≤ji≤k;

S4.2、推导出组合索引中每个值对应的集合Vi中所选中元素的序号,所述 ji=((index/ki-1)mod k)+1;

S4.3、组合索引中的值与所对应组合的关系为:

本发明与现有技术相比,具有的有益效果是:

1、本发明占用内存少,内存占用最大的是已知集合对应的变量,而在计算过程中额外占用的内存极少。

2、本发明计算复杂度小,每个数组只需要n个整数的除法和取模算即可得出。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科鹏跃电子科技有限公司,未经中电科鹏跃电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111292884.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top