追书网 > 女频频道 > 脑回路清奇的主角们 > 第510章 幻符号已知,数值排列组合可知

=数据压缩算法=符号已知,数值排列组合可知=

        使用带有位数的方式来实现,比如第一位二进制0,换算为十进制的1;比如第一位二进制3,换算为十进制的4;第二位二进制0,换算为十进制的5;第二位的二进制6,换算为十进制的4;

        第N位;是二进制0时=2N+1;是二进制1时=2N+2;

        1  3  4

        2  5  6

        3  7  8

        1001000100001换算下来,就是:

        1=4

        0=5

        0=7

        1=10

        0=11

        0=13

        0=15

        1=18

        0=19

        0=21

        0=23

        0=25

        1=26

        4A5B7C(10)A(11)B(13)C(15)A(18)B(19)C(21)A(23)B(25)C(26)

        当A=+加法,B=-减法,C=*乘法时:

        4+5-7*(10)+(11)-(13)*(15)+(18)-(19)*(21)+(23)-(25)*(26)=-1253(优先计算乘法)

        (4+5-7)*(10+11-13)*(15+18-19)*(21+23-25)*(26)=  110656(最后计算乘法,先算加减法)

        当A=+加法,B=*乘法,C=-减法时

        4+5*7-(10)+(11)*(13)-(15)+(18)*(19)-(21)+(23)*(25)-(26)=  1027(优先计算乘法)

        (4+5)*(7-10+11)*(13-15+18)*(19-21+23)*(25-26)=-24192(最后计算乘法,先算加减法)

        当A=*乘法,B=+加法,C=-减法时

        4*5+7-(10)*(11)+(13)-(15)*(18)+(19)-(21)*(23)+(25)-(26)=-805(优先计算乘法)

        4*(5+7-10)*(11+13-15)*(18+19-21)*(23+25-26)=  25344(最后计算乘法,先算加减法)

        当A=*乘法,B=-减法,C=+加法时

        4*5-7+(10)*(11)-(13)+(15)*(18)-(19)+(21)*(23)-(25)+(26)=  845(优先计算乘法)

        4*(5-7+10)*(11-13+15)*(18-19+21)*(23-25+26)=  199680(最后计算乘法,先算加减法)

        当A=-减法,B=+加法,C=*乘法时

        4-5+7*(10)-(11)+(13)*(15)-(18)+(19)*(21)-(23)+(25)*(26)=  1261(优先计算乘法)

        (4-5+7)*(10-11+13)*(15-18+19)*(21-23+25)*(26)=  688896(最后计算乘法,先算加减法)

        当A=-减法,B=*乘法,C=+加法时

        4-5*7+(10)-(11)*(13)+(15)-(18)*(19)+(21)-(23)*(25)+(26)=-1019(优先计算乘法)

        (4-5)*(7+10-11)*(13+15-18)*(19+21-23)*(25+26)=-52020(最后计算乘法,先算加减法)

        当然了,数据压缩,可最少都是1GB长度的源数据,为了避免篇幅过长,以及作者换算到浪费时间,这里就只用少量数据来做对比,也就是说,如果是1ZB的数据,那么就有意思了,(2N+1)和(2N+2)看起来不大,如果是2^10=1024;2^20=1,048,576;2^50=1,125,899,906,842,624;以此类推,当N取值足够大时,那么想象一下1,125,899,906,842,624*1,125,899,906,842,625(优先计算乘法);再想象一下(1,125,899,906,842,624+1,125,899,906,842,625-1,125,899,906,842,627)*(1,125,899,906,842,628+1,125,899,906,842,629-1,125,899,906,842,630)=  1.26765060022823E30

        然后在以此类推,当  N个1.???????E??????相乘的时候,结果也是足够大的,这个时候要怎么办呢?

        限制N的最大值,把数据分段,从而避免N取值过大,导致没必要的运算消耗。

        比如限制N小于50,那么就是每49位为一个分段;以此类推。

        分段的结果,就是必须要按照分段来分别得出结果,避免分段占用(也就是A分段中,出现过33,而B分段中也出现过33,就导致了分段占用)(当然了,实际使用时,往往需要进行优化,作者这创作的内容,完全是第一代版本,自然语言版本)(众所周知,第一代版本,往往都是最不稳定的,特别是无中生有的算法什么的,尤其以没有发展出V1.539972.335377.885662版本就发布的作者为甚)。

        算法感觉还能继续改进。

(https://www.biquya.net/id97270/49773985.html)


1秒记住追书网网:www.biquya.net。手机版阅读网址:m.biquya.net