首页 网站地图 完本小说 创建桌面快捷
浏览记录

*提示:浏览记录仅放置最近浏览的10本书籍

浏览记录是空的
访客登录   免费注册  
  • 六妙笔阁
  • 玄幻魔法
  • 武侠修真
  • 都市言情
  • 历史军事
  • 侦探推理
  • 网游动漫
  • 科幻小说
  • 恐怖灵异
  • 散文诗词
  • 其他类型
  • 排行榜
搜小说:
位置:  >   六妙笔阁 > 脑回路清奇的主角们 > 第470章 幻按位分隔符压缩算法

《脑回路清奇的主角们》 第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个不同的版本)。


    先用统计,得出整个文件总共占用多少内存,然后使用内存移位和运算的方式,来还原出源文件,也就是说,本身只需要解压缩后大小的内存占用(只是根据压缩使用的算法,和为解压缩加速而存储的排除法和排除碰撞方法,来实现解压缩尽可能不进行不必要的运算)。        


上一章 返回目录 下一章

小提示: 按←键返回上一页,按→键进入上一页,您还可以 加入书签

阅读提示:
1、本站会员登录后,将免费体会到最顺畅的阅读方式[最少广告]。
2、注册本站会员,将《脑回路清奇的主角们》加入书架,可以通过书架更快的了解更新信息。
3、免费小说《脑回路清奇的主角们》 第470章 幻按位分隔符压缩算法所描述的内容只是作者个人观点,与本站的立场无关,本站只为广大用户提供阅读平台。
  • 站长推荐
  • 猜你喜欢
  • 龙凰帝婿 连载中图标 龙凰帝婿
  • 相逢少年时 连载中图标 相逢少年时
  • 绝世唐门之是女生 连载中图标 绝世唐门之是女生
  • 剑动灵荒 连载中图标 剑动灵荒
  • 司命门主 连载中图标 司命门主
  • 诡异降临到我身边 连载中图标 诡异降临到我身边
  • 住手,我快成boss了! 连载中图标 住手,我快成boss了!
  • 萌妻粉嫩嫩:哥哥,别硬来 连载中图标 萌妻粉嫩嫩:哥哥,别硬来
  • 重生散财系统 连载中图标 重生散财系统
  • 鬼夫召唤 连载中图标 鬼夫召唤
  • 天才萌宝:迷糊妈咪腹黑爹 连载中图标 天才萌宝:迷糊妈咪腹黑爹
  • 名门星妻 连载中图标 名门星妻

本小说站所有小说、评论均为网友更新!仅代表发布者个人行为,与本小说站(http://www.6mbg.com)立场无关!
本站所有小说的版权为原作者所有!如无意中侵犯到您的权益,或是含有非法内容,请及时与我们联系,我们将在第一时间做出回应!谢谢!
Copyright © 2016-2019 Www.6mbg.Com 六妙笔阁 All Rights Reserved.