脑回路清奇的主角们:正文 第470章 幻按位分隔符压缩算法
=按位分隔符压缩算法=
把数据进行按一定位数进行分割,比如素数位二进制数据,比如素数位十六进制数据,素数一般取较大值,比如11,13,17,19,23,29;
然后进行统计,为了快速压缩,可以把数据进行检索模糊化。
比如使用2,3,5,7。
比如:使用11位的检索方式,那么就从00000000000到11111111111全部检索各有多少个(使用了分隔符)比如把
00000000000111111111110000000000011111111111,使用分隔符(编程自定义分隔符,比如使用#),然后就把数据分割为#00000000000#11111111111#00000000000#11111111111#
这样就不会统计出错,比如不会把0101和1010都统计成存有101的错误,分隔符是为了避免这种检索错误,所以数据分段需要使用分隔符来分割。
分割完毕之后,就进行统计,先是数位统计,统计出从#00000000000#→#00000000001#→#00000000010#→一直到#11111111111#,各有多少个,然后就可以在解压缩时,生成同样多的数据,然后进行位移就行了。
数据可以通过统计的方式来得知其长度和数据内容,然而其排列顺序完全损失了,就需要通过另外一种方式来记录顺序。
因为是使用11位的二进制来分割统计,那么就可以简单的划分为5位+6位的方式来进行顺序排列:
比如把?用于取一个模糊值(也就是说#1?1?1#有多种有效可能性,#10101#和#10111#和#11101#和#11111#都可以记录为#1?1?1#,这里为了减少篇幅,就没有使用#1?1?1?1?1?1#来作为说明),然后把#1?1?1?1?1?1#记录为A(没错就只是一个字母)→把#1?1?1?1?1?0#记录为B→#1?1?1?1?0?0#记录为C→以此类推,当然,如果数位足够多,那么五十二个英文字母的ASCII码可能就不够用了,就需要使用其他的方式来简写了,然后把所有的#(特定二进制数)+?+(特定二进制数)+?+(特定二进制数)#都记录为一个个的字母的方式进行排列。
当然了,也可以把一个11位二进制的数,分为多个数位顺序表,比如#11111111111#,分别在第一个数位顺序表中,记录为A,在第二个数位顺序表中,记录为A,在第三个数位顺序表中,记录为A,在第四个数位顺序表中记录为D
#111????????#=A
#110????????#=B
#101????????#=C
#100????????#=D
#011????????#=E
#010????????#=F
#001????????#=G
#000????????#=H
然后进行记录数位顺序表1;
然后定义
#???111?????#=A
#???110?????#=B
#???101?????#=C
#???100?????#=D
#???011?????#=E
#???010?????#=F
#???001?????#=G
#???000?????#=H
然后记录为数位顺序表2;
然后定义
#??????111??#=A
#??????110??#=B
#??????101??#=C
#??????100??#=D
#??????011??#=E
#??????010??#=F
#??????001??#=G
#??????000??#=H
然后记录为数位顺序表3;
然后定义
#?????????00#=A
#?????????01#=B
#?????????10#=C
#?????????11#=D
然后解压缩时,把N个数位顺序表一一重合,就能还原出数据的数位顺序(带分隔符的版本),然后使用全部替换的方式,把分隔符全部去掉,就能还原出原数据的顺序了。
压缩快,解压缩也快。
片段组合方式,来避免进行重复的整体加一,整体减一的方式来逆推出原先的数据,而是通过拼图的方式,把数位顺序表附带源数据的一部分数据,然后再把数位顺序表合并,就还原出源数据了,这种方式,也可以向前通用到进制碰撞方式中。
=对于另一种可能需要用到人工智能,或者请数学高手来了=
作者还在思考,如何使用一种特定算法,把有N个同样长度的特定进制的数,通过加法,减法,乘法,除法,阶乘,次方号的方式,来生成一个远远小于整个算式的结果:
比如:123?339?585?123?234?345?567?678?987?123?234?345?……468?246?=754844625,然后通过结果和运算符号,就能逆推出所有的数,从123,339,到585……468,246;也就是唯一缺失片段只能唯一等式。
数据压缩算法,本身就是对一个特定长度,使用特定进制的数据,如何使用特定算法,以及算法所需要带入的数据,来还原成源文件,而这个过程中,要足够快(这样压缩快,解压缩也快),要尽可能减少试错次数(也就是使用有缺失的方式,因为有缺失,所以需要一部分的穷举,然后进行校验,才能得出没有错误的源文件),要尽可能只有一个碰撞结果(也就是不能一个压缩后的文件,可以解压缩出N个不同的版本)。
先用统计,得出整个文件总共占用多少内存,然后使用内存移位和运算的方式,来还原出源文件,也就是说,本身只需要解压缩后大小的内存占用(只是根据压缩使用的算法,和为解压缩加速而存储的排除法和排除碰撞方法,来实现解压缩尽可能不进行不必要的运算)。
狠男人网最快更新,无弹窗阅读请收藏狠男人小说网(www.41nr.com)。
- 大玄印
第六百四十八章 参赛名单 - 仙道少年行
第143章 行路 - 规则怪谈:死亡黑猫饲养指南
第218章 诡梦列车(11) - 骑砍玩家狂想曲
第一百三十二章 诺德王国分裂 - 猎天争锋
第1900章 跨越星区的薪火相传! - 秦刀
第八十三章洗脱嫌疑 - 得知真相,七个师姐跪求我原谅
第一百三十三章关键时刻 - 大隋:我杨俨,继承大统
第一百一十二章 审问 - 十日诡谈
第一百八十五章 强煞(二) - 界起通天
第1069章云尘闭关再入极境 - 开局:葬神峰主,我培养大帝无数!
第九十六章 我应该没有强迫你吧?求推荐 - 灵宠创造模拟器
第1295章 冥府与后土大神的关系 - 重生:我在修仙界大杀四方
第一百零一章一剑斩苍穹 - 亿万萌宝老婆大人哪里跑
第3645章 你们都还好吗? - 永夜圣典
第九十七章,全新的魔族 - 第一瞳术师
第1882章 番外:现代篇(44) - 道婿下山
第24章 挖祖坟 - 恐怖复苏之全球武装怪胎
第2249章 拔钉(下) - 抛夫弃子,我带六个女儿吃香喝辣
第834章 电棍 - 妈咪轻点虐,渣爹又被你气哭啦
第350章 别让她伤到自己的眼睛 - 刚出娘胎,定亲转世女帝
第182章 赢给你看