[发明专利]一种节省内存的LCS算法有效
申请号: | 201110101299.6 | 申请日: | 2011-04-22 |
公开(公告)号: | CN102184165A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | 徐艳芬;万金利;何永刚 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节省 内存 lcs 算法 | ||
1.一种节省内存的LCS算法,其特征在于:用一个一维整形数组存储两个序列在比较过程中的比较状态数据;
第一个序列长度为m,第二个序列长度为n,所述比较状态数据为布尔值,比较状态数据共m*n个,存储比较状态数据的一维整形数组为一个一维的m*n/32的整形数组;
在向该一维整形数组内存储比较状态数据时,用位运算存储实现对该一维整形数组的存储,每一位存储一个比较状态数据;
在从该一维整形数组内读取比较状态数据时,用位运算读取实现对该一维整形数组的读取。
2.如权利要求1所述的节省内存的LCS算法,其特征在于,当需要存储比较状态数据时,包括以下步骤:
步骤1,计算整形int所占位数;
步骤2,声明一个一维整形数组arMatrix;
步骤3,确定第i行j列元素在一维数组的第index列;
步骤4,确定第i行j列元素在第index列数据的第offset位;
步骤5,生成一个第offset位数据为true的数offsetData;
步骤6,将true值存储到第index列数据:arMatrix[index]|=offsetData。
3.如权利要求1所述的节省内存的LCS算法,其特征在于,当需要读取比较状态数据时,包括以下步骤:
步骤1,声明布尔变量bVal;
步骤2,确定第i行j列元素在一维数组的第index列;
步骤3,确定第i行j列元素在第index列数据的第offset位;
步骤4,生成一个第offset位数据为true的数offsetData;
步骤5,进行与运算并返回运算结果:结果为0代表一维数组第offset位数据为0,否则代表一维数组第offset位数据为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110101299.6/1.html,转载请声明来源钻瓜专利网。