一种基于lcs的自定义元素顺序优化方法

文档序号:10594164阅读:218来源:国知局
一种基于lcs的自定义元素顺序优化方法
【专利摘要】一种基于LCS的自定义元素顺序的方法,步骤1:基于顺序调整前的顺序值序列X和顺序调整后的顺序值序列Y,计算存在于这两个序列中的一个最长公共子序列,即LCS;步骤2:对照LCS,遍历顺序值序列Y,识别出所有需要重新赋值的元素,同时在遍历的过程中获取该元素的位置信息,包括该元素的前序元素顺序值、后序元素顺序值、元素排序数、以及前序元素顺序值和后序元素顺序值之间待更新顺序值的总数,并利用顺序值更新公式计算待更新顺序值的新顺序值;具体步骤为:步骤3:循环执行步骤2?2?步骤2?8,直至遍历完顺序值序列N?Y中所有顺序值,此时待更新顺序值已全部计算出新值,且更新后的新顺序值全部存在顺序值已更新序列E中。
【专利说明】
-种基于LCS的自定义元素顺序优化方法
技术领域
[0001] 本发明属于计算机程序算法领域,特别是一种适用于特定功能的数据处理方法, 具体设及一种基于LCS(Longest Common Subsequence,即最长公共子序列)的自定义元素 顺序的优化方法。
【背景技术】
[0002] LCSlXongest Common Subsequence)是指最长公共子序列,用于描述存在于两个 或多个数列中的公共数列,且该数列是所有公共数列中长度最长的数列,LCS多用于文本相 似度的检查。
[0003] 在电子商务网站中,有很多元素的显示顺序能由用户自行设定,比如用户售卖商 品的顺序、商品的分组或目录顺序。通常情况下,电子商务网站会在其管理系统中提供元素 自定义的排序功能,商家用户可按照自己的需要,自定义商品在页面上的显示顺序。比如现 有商品A、商品B、商品C、商品D、商品E,网站初始的顺序依次是A-B-C-D-E,各商品的序数值 依次为1、2、3、4、5,同时,商品序数值会持久化入数据库中;当用户重新调整商品顺序后,运 五件商品的顺序依次为:A-E-B-C-D,相应地,所有商品对应的序数值也发生变更,一般的做 法是运样的:按照变更后的顺序,商品A的序数值仍赋值为"1",商品E的序数值由调整前的 V变更为"2",商品B的序数值由调整前的"2"变更为"3",商品C的序数值由调整前的"3"变 为"4",商品D的序数值仍赋值为"5",序变更后的商品序数持久化入数据库中,替代变更前 的商品序数值。
[0004] 在上述运样的变更过程中,即使是部分少量商品的顺序调整,都会引发所有商品 序数值的重新赋值变更,进而导致大量且频繁的数据库更新操作,严重影响程序的性能。
[0005] 综上所述,大规模数据的顺序变更是一项十分耗时的操作,因而实现顺序值的最 少数量变更是值得思考且尤为迫切解决的问题,而LCS可W快速定位出顺序发生变更的元 素,有利于有效解决顺序变更的问题。

【发明内容】

[0006] 为了解决上面的问题,本发明目的是,通过利用LCS识别出需要更新序数值的元 素,保证"顺序变更的元素的序数值做更新,且顺序无需变更的元素的序数值不做更新",实 现在各种顺序变更的情况下,最少更新元素的序数值的效果。
[0007] 本发明的技术方案为:本发明首先计算出调整元素顺序前后两个排序值序列的 一个LCS,并根据运个LCS识别出需要重新赋予顺序值的元素;然后,根据运些元素所在位置 分别计算出新的顺序值并持久化到数据库中,实现"存在于LCS内的元素的顺序值不发生变 化,而不存在于LCS内的元素的顺序值能依据他们在新序列中的位置重新计算出顺序值,并 持久化入数据库中"。
[000引一种基于LCS的自定义元素顺序的方法,W顺序值标示元素的位置,通过计算顺序 调整前后两个序列的最长公共子序列,即LCS,区分出顺序变更和顺序无需变更的元素,并 通过获取到的顺序变更元素当前的位置信息,进而计算出运些元素在新位置上的顺序值; 具体步骤包括:
[0009]步骤1:基于顺序调整前的顺序值序列X和顺序调整后的顺序值序列Y,计算存在于 运两个序列中的一个最长公共子序列,目化CS;
[0010] 所述两个序列的最长公共子序列并不唯一(比如X: ABCD;更改顺序后的Y: DBADC; 那么两个序列的最长公共子序列是BC和AC。在本发明中,只选择一个即可。),本发明方法不 限制对LCS的选择,任意取用其中一个LCS即可;
[0011] 所述顺序值序列,用W描述所有元素的排序情况,是有关元素顺序值的排序序列 表;顺序值按照大小排列;
[0012] 进一步地,在顺序值序列中,每个元素的顺序值是该元素的唯一位置标示;顺序值 的数值类型不做限制,比如可W是整数,也可W是实数;
[0013] 进一步地,参与排序的元素不限于电子商务网站内设及到元素的排序,包括商品 排序、商品目录排序,还适用于所有需要自定义元素显示顺序的任何地方,包括发布的资讯 信息、公告信息、证书信息、图片或照片等等。
[0014] 步骤2:对照LCS,遍历顺序值序列Y,识别出所有需要重新赋值的元素,同时在遍历 的过程中获取该元素的位置信息,包括该元素的前序元素顺序值、后序元素顺序值、元素排 序数、W及前序元素顺序值和后序元素顺序值之间待更新顺序值的总数,并利用顺序值更 新公式计算待更新顺序值的新顺序值;具体步骤为:
[0015] 步骤2-1:为方便后续获取位置信息,需对LCS进行改造;
[0016] 具体为:顺序值序列X中取最大值,最大值加"r放置于LCS的末尾,改造后的LCS序 列被计为新最长公共子序列N-LCS;同时,将所述最大值也置于改造后顺序值序列Y的末尾, 形成新的改造后顺序值序列N-Y;
[0017]步骤2-2:遍历新改造風顿序值序列N-Y,判断改造后顺序值序列N-Y内的元素顺序 值N-Yi是否与新最长公共子序列N-LCS内的元素顺序值N-LCSj相等;
[0018] 特别地,在遍历过程中设置临时统计数t,用于记录待更新顺序值的出现频次;
[0019] 如果当前在新改造后顺序值序列N-Y中遍历到的元素顺序值N-Yi与新最长公共子 序列N-LCS内的顺序值N-LCSj不相等,转步骤2-3 ;如果当前在顺序值序列N-Y中遍历到的 元素顺序值N-Yi与顺序值序列N-LCS内的元素顺序值N-LCSj相等,转步骤2-4;
[0020] 步骤2-3:将N-Yi加入顺序值待更新序列D中,临时统计数巧日"r,转步骤2-2;
[0021] 步骤2-4:判断临时统计数t的值与0之间的大小关系;如果临时统计数等于0,转步 骤2-5;如果不等于0,转步骤2-6;
[0022] 步骤2-5:新最长公共子序列N-LCS内由当前顺序值N-LCSj移动至下一个顺序值N- LCSj+i,转步骤 2-2;
[0023] 步骤2-6:记录新最长公共子序列N-LCS当前遍历到的元素顺序值N-LCSj和该序列 内上一位元素顺序值N-LCSj-I,分别将运两个值作为Yi的后序元素顺序值Yn和前序元素顺序 值押;
[0024] 特别地,如果新最长公共子序列N-LCS遍历到的元素顺序值N-LCS^立于该序列中 的首位,则前序元素顺序值Yp计为"0";
[0025] 特别地,默认具有相同前序元素顺序值Yp和后序元素顺序值Yn的元素顺序值iYi都 处于押和Yn所组成的区间内;区间内的元素顺序值Yi按照遍历到的次序进行排列;
[0026] 步骤2-7:将当前的临时统计数计为于押和化所组成区间内的顺序值总数M,同时按 照临时统计数循环相应的次数,顺序值更新公式按照数值等分原则设计,利用公式 ^八+Yp,在每一次循环过程中依次计算顺序值待更新序列D中每一个顺序值位置变更后 的新顺序值,并依次将新顺序值存入顺序值已更新序列E中;
[0027] 特别地,在上述公式中:
[0028] 其中"Yn"代表待更新顺序值元素的后序元素顺序值;
[0029] 其中"Yp"代表待更新顺序值元素的前序元素顺序值;
[0030] 其中"S"代表在Yp和化运一区间内,待更新顺序值元素的排列序数;
[0031] 其中代表在押和化运一区间内的待更新顺序值元素的总数。
[0032] 特别地,"S"在每一次循环过程中获取;
[0033] 特别地,利用上述公式求得的顺序值可能会产生小数,由于计算机的数据类型表 达小数是存有限制的,即等分存有尽头;当等分达到尽头时,所有参与排序的元素的顺序值 按照当前的元素排列顺序全部重新赋值;
[0034] 在步骤2-7中,所述顺序值在前序元素顺序值Yp和后序元素顺序值化所组成区间内 的排列序数S,根据当前的临时统计数t,在循环执行每一个顺序值的更新过程中获取。
[0035] 步骤2-8:临时统计数t值归"0",转步骤2-5。
[0036] 步骤3:循环执行步骤2-2-步骤2-8,直至遍历完顺序值序列N-Y中所有顺序值,此 时待更新顺序值已全部计算出新值,且更新后的新顺序值全部存在顺序值已更新序列E中。
[0037] 顺序值未发生变化的元素顺序值在数据库中不做任何更新操作,顺序值更新后的 元素顺序值持久化入数据库中,覆盖之前的顺序值,此时每一个元素的唯一标示按照它们 的位置关系完成更新,顺序变更后的顺序值依旧按照顺序值大小排列。
[0038] 有益效果:本发明与现有技术相比,
[0039] (1)本发明W顺序值作为元素的位置唯一标识,并只对位置发生变化的元素做顺 序值的更新,有利于最小化更新数据库的数据量,缩短了响应用户的时间,降低了数据库的 压力;
[0040] (2)在生产环境中,出于数据安全性和性能扩展的考虑,数据往往需要备份或复制 到其他机器上。本发明通过寻找顺序调整前后序列中的最长公共子序列LCS,区分顺序值不 更新和顺序值待更新的元素,并保证位置不发生变化的元素不变更顺序值,从而大大减少 数据备份或复制的网络流量;
[0041] (3)本发明在顺序调整后的顺序值序列中实施遍历,通过与LCS比对,寻找因位置 变更而需更新顺序值的元素,及运些元素和无需变更顺序值元素之间的位置关系,并W数 值等分思想设计顺序值更新计算公式,不仅简化了元素变更过程,有利于提升程序的性能, 而且为下次元素顺序值变更留下均等的机会,推迟了等分尽头的到来。
【附图说明】
[0042] 图1为本发明实施例中基于LCS的自定义元素顺序优化方法的流程图;
[0043] 图2为本发明实施例中顺序调整前顺序值序列的示意图;
[0044] 图3为本发明实施例中顺序调整后顺序值序列的示意图;
[0045] 图4为本发明实施例中LCS的示意图;
[0046] 图5为本发明实施例中顺序值更新后顺序值序列的示意图。
【具体实施方式】
[0047] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明的技术方案进行详细描述。
[0048] 首先,先对本发明实施例中的术语进行解释:
[0049] 所述顺序值序列,用W描述所有元素的排序情况,是有关元素顺序值的排序序列 表;顺序值按照大小排列;
[0050] 所述顺序值待更新序列D,用于存放顺序值需变更的元素在变更前对应的顺序 值;
[0051] 所述顺序值已更新序列E,用于存放通过顺序值更新公式计算所得出的位置变更 元素的新顺序值;
[0052] 所述临时统计数t,是指在顺序值序列遍历过程中用于统计在某一特定顺序值区 间内待更新顺序值的个数。
[0053] 图1为本发明实施例中基于LCS的自定义元素顺序优化方法的流程图,本发明实施 例首先分别计算出元素顺序调整前后两个顺序值序列的一个LCS,然后根据运个LCS识别出 需要重新赋予顺序值的元素,再者,根据运些元素所在位置分别计算出新的顺序值并持久 化到数据库中,实现"最长公共子序列内的元素在新序列中的顺序值不变化,而不在最长公 共子序列内的元素在新序列的顺序值能依据当前位置做适应性的顺序值变更",具体包括:
[0054] 步骤101:图2和图3分别为顺序调整前后的顺序值序列图。参阅图2和图3,参与排 序的元素是A、B、C、D、E、F、G、H、I、J,对应的顺序值为1、2、3、4、5、6、7、8、9、10,且在本发明实 施例中,元素和顺序值之间--对应,顺序值是运些元素的唯一标示。
[005日]顺序调整前的顺序值序列X为:1-2-3-4-5-6-7-8-9-10;顺序调整后的顺序值序列 Y为10-4-2-3-5-1-7-9-8-6;按照"顺序值越小,元素所在位置越靠前"的原则,需要对顺序 值序列(10-4-2-3-5-1-7-9-8-6)中的顺序值做相应的更新;
[0056] 经对顺序调整前后两个顺序值序列的计算,得出两个序列的最长公共子序列LCS, 即2-3-5-7-9,对应的元素依次是B-C-E-G-I,如图4所示;
[0057] 在本发明实施例中,上述两个序列的最长公共子序列并不唯一,存在2-3-5-7-9和 2-3-5-7-8运两个最长公共子序列。由于本发明并不限制对最长公共子序列的选择,因而可 任意其一即可,本发明实施例中选择2-3-5-7-9作为两个序列的最长公共子序列LCS;
[005引步骤102:对照LCS,遍历顺序值序列10-4-2-3-5-1-7-8-9-6,识别出所有需要重新 赋值的元素,同时在遍历的过程中获取该元素的位置信息,步骤2的具体步骤包括:
[0059] 步骤102-1:改造 LCS和顺序值序列Y。具体为:取顺序值序列X中的最大值,然后加 "1",将得到的值分别置于LCS和顺序值序列Y的末尾,形成顺序值序列N-LCS和顺序值序列 N-Y ;
[0060] 其中,顺序值序列N-LCS为:2-3-5-7-9-11;顺序值序列N-Y为:10-4-2-3-5-1-7-8- 9-6-11;
[0061 ] 步骤102-2:遍历顺序值序列N-Y :10-4-2-3-5-1-7-8-9-6-11,判断顺序值序列N-Y 内的顺序值N-Yi是否与顺序值序列N-LCS内的顺序值N-LCSj相等;
[00创顺序值序列N-Y从首位顺序值"10"开始遍历,经过与N-LCS比照,与当前N-LCS内的 首位顺序值"2"不一致,顺序值"10"记录入顺序值待更新序列D中,临时统计数t值增1;
[0063] 顺序值序列N-Y遍历至下一位顺序值"4",经过与N-LCS比照,与当前N-LCS内的首 位顺序值"2"不一致,顺序值"4"记录入顺序值待更新序列D中,临时统计数t值增1;
[0064] 顺序值序列N-Y遍历至下一位顺序值"2",经过与N-LCS比照,与当前N-LCS内的首 位顺序值"2" -致,判断当前的临时统计数t与"0"之间的大小关系;
[00化]顺序值序列10-4-2-3-5-1-8-7-9-6按照上述的方式循环遍历,如果当前在顺序值 序列Y中遍历到的元素顺序值N-Yi与顺序值序列N-LC&内的顺序值不相等,转步骤102-3;如 果当前在顺序值序列Y中遍历到的元素顺序值N-Yi与顺序值序列N-LCS内的顺序值N-LCSj相 等,转步骤102-4;
[0066] 步骤102-3:将N-Yi加入顺序值待更新序列D中,临时统计数巧日"r,转步骤102-2;
[0067] 在本实施例中,顺序值序列N-Y遍历到顺序值"10"、"4"、"r、巧"、"护时,均会将对 应的顺序值录入顺序值待更新序列D中,并且每一次遍历完成都会让t值增1;
[006引步骤102-4:判断当前的t值与"0"之间的关系,如果t〉0,转步骤102-5;如果t = 0, 转步骤102-8;
[0069] 步骤102-5:记录顺序值序列N-LCS当前遍历到的元素顺序值N-LCSj和该序列内上 一位元素顺序值N-LCSj-I,分别将运两个值作为Yi的后序元素顺序值Yn和前序元素顺序值 押;
[0070] 步骤102-6:将当前的临时统计数计为于押和化所组成区间内的顺序值总数M,同时 按照临时统计数t循环相应的次数,利用公式^xs +Yp.依次计算顺序值待更新序列D中每 一个顺序值位置变更后的新顺序值,并依次将新顺序值存入顺序值已更新序列E中。
[0071] 步骤102-7:临时统计数重新归"0",转步骤102-8;
[0072] 按照上述的实施例,顺序值序列N-Y遍历至顺序值"2",经过与N-LCS比照,与当前 N-LCS内的首位顺序值"2" -致;
[0073] 根据判断当前t值与0的关系:t = 2〉0,通过获取顺序值"10"和"4"的位置信息,分 别计算两个顺序值的新值:
[0074] 由于在顺序值序列N-Y中,顺序值"2"位于顺序值"10"和"4"之后,因而取N-LCS内 的首位顺序值"2"作为顺序值"10"和"4"的后序元素顺序值Yn,取N-LCS内上一位的顺序值 作为顺序值"10"和"4"的前序元素顺序值Yp ;由于顺序值"2"上一位没有顺序值,因而取 "0"作为顺序值"10"和"4"的前序元素顺序值押;
[00对由于顺序值"10"和"4"具有相同的前序元素顺序值"0"和后序元素顺序值"2",默 认顺序值"10"和"4"同处于由顺序值"0"和顺序值"2"组成的区间内;按照当前的t值(t = 2),取"2"作为区间内的元素总数;同时循环2次分别计算顺序值"10"和"4"更新后的新顺序 值。
[0076] 顺序值"10"和"4"的计算过程如下:
[0077] 顺棒植(10 )脑遺新值=I昔X 1十0 = 0.6
[0078] 顺序值"10"对应的新值"0.护存入顺序值已更新序列E中;
[0079] 顺序值(4)的更觀值=I或X 2 + 0 =1.3
[0080] 顺序值"4"对应的新值"1.3"存入顺序值已更新序列E中;
[0081 ]待顺序值"0"和"2"所组成区间内的待更新顺序值计算完毕并存入顺序值已更新 序列E中后,临时统计数t归"0";顺序值序列N-LCS由顺序值"2"移至下一位顺序值"3",顺序 值序列N-Y继续向下遍历;
[0082]相应地,顺序值TV'8"和"护的位置信息为: 「nnoTl

[0084] 按照审新公式,顺序估"r、"8"巧"护的审新过程为:
[0085]
[0086] 夏新序列E中;
[0087]
[008引 夏新序列E中;
[0089]
[0090] 顺序值"护对应的新值"10"存入顺序值已更新序列E中;
[0091] 步骤102-8:顺序值序列N-LCS内由当前顺序值N-LCSj移动至下一个顺序值N- LCSj+i,转步骤 102-2;
[0092] 按照上述实施例,顺序值序列N-Y遍历完顺序值"2"后,遍历至下一位顺序值"3", 由于N-LCS在上一次N-Y的遍历结束时,N-LCS内的顺序值移动至下一位顺序值"3",因而经 过与N-LCS比对,N-Y遍历到的顺序值与N-LCS内顺序值"3" -致;
[0093] 由于N-LCS在上一次N-Y的遍历结束时,t值回归为"0",因而此时的临时统计数t等 于0,序列N-LCS内由当前顺序值"3"移动下一位顺序值V,序列N-Y继续向下遍历到顺序值 巧";
[0094] 步骤103:循环步骤102-2-步骤102-8,直至遍历完顺序值序列Y中所有顺序值,此 时待更新顺序值已全部更新完毕,且所有已更新的顺序值已存入顺序值已更新序列E中J员 序值未发生变化的元素顺序值"2"、"3"、"5"、"7"、"9"在数据库中不做任何更新操作,顺序 值"10"、"4"、"r、"8"、"护将在步骤102-7中新得到的顺序值"0 .护、"1.3"、"5.护、"6.3"、 "10"持久化入数据库中,覆盖原有的"10"、"4"、"r、%'、"护,顺序值更新完毕的顺序值序 列如图5所示,此时每一个元素的唯一标示按照它们的位置关系依次排列。
[0095] 传统的排序方案,需要对所有元素进行顺序值的更新,而本发明实施例仅是选择 出顺序发生变更的元素进行顺序值更新;相比较而言,本发明实施例能减少数据库的更新 数量,提高排序的时效性,
[0096] 所属领域的普通技术人员应当理解:W上所述仅为本发明的具体实施例而已,并 不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均
【主权项】
1. 一种基于LCS的自定义元素顺序的方法,其特征在于,本发明以顺序值标示元素的位 置,通过计算顺序调整前后两个序列的最长公共子序列,即LCS,区分出顺序变更和顺序无 需变更的元素,并通过获取到的顺序变更元素当前的位置信息,进而计算出这些元素在新 位置上的顺序值;具体步骤包括: 步骤1:基于顺序调整前的顺序值序列X和顺序调整后的顺序值序列Y,计算存在于这两 个序列中的一个最长公共子序列,即LCS; 所述顺序值序列,用以描述所有元素的排序情况,是有关元素顺序值的排序序列表;顺 序值按照大小排列; 在顺序值序列中,每个元素的顺序值是该元素的唯一位置标示;顺序值的数值类型不 做限制; 步骤2:对照LCS,遍历顺序值序列Y,识别出所有需要重新赋值的元素,同时在遍历的过 程中获取该元素的位置信息,包括该元素的前序元素顺序值、后序元素顺序值、元素排序 数、以及前序元素顺序值和后序元素顺序值之间待更新顺序值的总数,并利用顺序值更新 公式计算待更新顺序值的新顺序值;具体步骤为: 步骤2-1:为方便后续获取位置信息,需对LCS进行改造; 具体为:顺序值序列X中取最大值,最大值加"Γ放置于LCS的末尾,改造后的LCS序列被 计为新最长公共子序列N-LCS;同时,将所述最大值也置于改造后顺序值序列Y的末尾,形成 新的改造后顺序值序列N-Y; 步骤2-2:遍历新改造后顺序值序列N-Y,判断改造后顺序值序列N-Y内的元素顺序值N-Yi是否与新最长公共子顺序值序列N-LCS内的元素顺序值N-LCSj相等; 特别地,在遍历过程中设置临时统计数t,用于记录待更新顺序值的出现频次; 如果当前在新改造后顺序值序列N-Y中遍历到的元素顺序值N-h与新最长公共子序列 N-LCS内的顺序值N-LCSj不相等,转步骤2-3;如果当前在顺序值序列N-Y中遍历到的元素顺 序值N-Yi与新最长公共子序列N-LCS内的元素顺序值N-LCSj相等,转步骤2-4; 步骤2-3:将N-Yi加入顺序值待更新序列D中,临时统计数t加"Γ,转步骤2-2; 步骤2-4:判断临时统计数t的值与0之间的大小关系;如果临时统计数等于0,转步骤2-5;如果不等于0,转步骤2-6; 步骤2-5:新最长公共子序列N-LCS内由当前顺序值N-LCSj移动至下一个顺序值N-LCSj+1,转步骤 2-2; 步骤2-6:记录新最长公共子序列N-LCS当前遍历到的元素顺序值N-LCS」和该序列内上 一位元素顺序值N-LCSn,分别将这两个值作为h的后序元素顺序值YN和前序元素顺序值 Υρ; 特别地,如果新最长公共子序列N-LCS遍历到的元素顺序值N-LCS」位于该序列中的首 位,则前序元素顺序值Υρ计为"0" ; 特别地,默认具有相同前序元素顺序值Υρ和后序元素顺序值ΥΝ的元素顺序值Yi都处于γρ 和Υν所组成的区间内;区间内的元素顺序值1按照遍历到的次序进行排列; 步骤2-7:将当前的临时统计数计为于Υρ和ΥΝ所组成区间内的顺序值总数Μ,同时按照临 时统计数循环相应的次数,顺序值更新公式按照数值等分原则设计,利用公式^xS + Yp, 在每一次循环过程中依次计算顺序值待更新序列D中每一个顺序值位置变更后的新顺序 值,并依次将新顺序值存入顺序值已更新序列E中; 特别地,在上述公式中: 其中"Yn"代表待更新顺序值元素的后序元素顺序值; 其中"Yp"代表待更新顺序值元素的前序元素顺序值; 其中"S"代表在ΥΡ和YN这一区间内,待更新顺序值元素的排列序数; 其中"M"代表在ΥΡ和YN这一区间内的待更新顺序值元素的总数。 特别地,"S"在每一次循环计算过程中获取; 特别地,利用上述公式求得的顺序值可能会产生小数,由于计算机的数据类型表达小 数是存有限制的,即等分存有尽头;当等分达到尽头时,所有参与排序的元素的顺序值按照 当前的元素排列顺序全部重新赋值; 在步骤2-7中,所述顺序值在前序元素顺序值ΥΡ和后序元素顺序值YN所组成区间内的排 列序数S,根据当前的临时统计数t,在循环执行每一个顺序值的更新过程中获取; 步骤2-8:临时统计数t值归"0",转步骤2-5; 步骤3:循环执行步骤2-2-步骤2-8,直至遍历完顺序值序列N-Y中所有顺序值,此时待 更新顺序值已全部计算出新值,且更新后的新顺序值全部存在顺序值已更新序列E中。2. 根据权利要求1所述的一种基于LCS的自定义元素顺序的方法,其特征在于,顺序值 未发生变化的元素顺序值在数据库中不做任何更新操作,顺序值更新后的元素顺序值持久 化入数据库中,覆盖之前的顺序值,此时每一个元素的唯一标示按照它们的位置关系完成 更新,顺序变更后的顺序值依旧按照顺序值大小排列。3. 根据权利要求2所述的一种基于LCS的自定义元素顺序的方法,其特征在于,所述步 骤1中顺序调整前后的两个顺序值两个序列的最长公共子序列并不唯一时,不限制对LCS 的选择,任意取用其中一个LCS即可。4. 根据权利要求2所述的一种基于LCS的自定义元素顺序的方法,其特征在于,参与排 序的元素不局限于电子商务网站内涉及到排序的元素,包括商品排序、商品目录排序等,还 适用于所有需要自定义元素显示顺序的任何地方,包括发布的资讯信息、公告信息、证书信 息、图片或照片。
【文档编号】G06F17/30GK105956064SQ201610272757
【公开日】2016年9月21日
【申请日】2016年4月28日
【发明人】马成平, 褚帆, 褚一帆, 成兆雨
【申请人】焦点科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1