最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

幻按位分隔符壓縮算法

2020-12-23 22:30 作者:純白色提莫種蘑菇  | 我要投稿

=按位分隔符壓縮算法=

把數(shù)據(jù)進行按一定位數(shù)進行分割,比如素數(shù)位二進制數(shù)據(jù),比如素數(shù)位十六進制數(shù)據(jù),素數(shù)一般取較大值,比如11,13,17,19,23,29;

然后進行統(tǒng)計,為了快速壓縮,可以把數(shù)據(jù)進行檢索模糊化。

比如使用2,3,5,7。

比如:使用11位的檢索方式,那么就從00000000000到11111111111全部檢索各有多少個(使用了分隔符)比如把

00000000000111111111110000000000011111111111,使用分隔符(編程自定義分隔符,比如使用#),然后就把數(shù)據(jù)分割為#00000000000#11111111111#00000000000#11111111111#

這樣就不會統(tǒng)計出錯,比如不會把0101和1010都統(tǒng)計成存有101的錯誤,分隔符是為了避免這種檢索錯誤,所以數(shù)據(jù)分段需要使用分隔符來分割。

分割完畢之后,就進行統(tǒng)計,先是數(shù)位統(tǒng)計,統(tǒng)計出從#00000000000#→#00000000001#→#00000000010#→一直到#11111111111#,各有多少個,然后就可以在解壓縮時,生成同樣多的數(shù)據(jù),然后進行位移就行了。

數(shù)據(jù)可以通過統(tǒng)計的方式來得知其長度和數(shù)據(jù)內(nèi)容,然而其排列順序完全損失了,就需要通過另外一種方式來記錄順序。

因為是使用11位的二進制來分割統(tǒng)計,那么就可以簡單的劃分為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→以此類推,當然,如果數(shù)位足夠多,那么五十二個英文字母的ASCII碼可能就不夠用了,就需要使用其他的方式來簡寫了,然后把所有的#(特定二進制數(shù))+?+(特定二進制數(shù))+?+(特定二進制數(shù))#都記錄為一個個的字母的方式進行排列。

當然了,也可以把一個11位二進制的數(shù),分為多個數(shù)位順序表,比如#11111111111#,分別在第一個數(shù)位順序表中,記錄為A,在第二個數(shù)位順序表中,記錄為A,在第三個數(shù)位順序表中,記錄為A,在第四個數(shù)位順序表中記錄為D

#111????????#=A

#110????????#=B

#101????????#=C

#100????????#=D

#011????????#=E

#010????????#=F

#001????????#=G

#000????????#=H

然后進行記錄數(shù)位順序表1;

然后定義

#???111?????#=A

#???110?????#=B

#???101?????#=C

#???100?????#=D

#???011?????#=E

#???010?????#=F

#???001?????#=G

#???000?????#=H

然后記錄為數(shù)位順序表2;

然后定義

#??????111??#=A

#??????110??#=B

#??????101??#=C

#??????100??#=D

#??????011??#=E

#??????010??#=F

#??????001??#=G

#??????000??#=H

然后記錄為數(shù)位順序表3;

然后定義

#?????????00#=A

#?????????01#=B

#?????????10#=C

#?????????11#=D

然后解壓縮時,把N個數(shù)位順序表一一重合,就能還原出數(shù)據(jù)的數(shù)位順序(帶分隔符的版本),然后使用全部替換的方式,把分隔符全部去掉,就能還原出原數(shù)據(jù)的順序了。

壓縮快,解壓縮也快。

片段組合方式,來避免進行重復的整體加一,整體減一的方式來逆推出原先的數(shù)據(jù),而是通過拼圖的方式,把數(shù)位順序表附帶源數(shù)據(jù)的一部分數(shù)據(jù),然后再把數(shù)位順序表合并,就還原出源數(shù)據(jù)了,這種方式,也可以向前通用到進制碰撞方式中。

=對于另一種可能需要用到人工智能,或者請數(shù)學高手來了=

作者還在思考,如何使用一種特定算法,把有N個同樣長度的特定進制的數(shù),通過加法,減法,乘法,除法,階乘,次方號的方式,來生成一個遠遠小于整個算式的結果:

比如:123?339?585?123?234?345?567?678?987?123?234?345?……468?246?=754844625,然后通過結果和運算符號,就能逆推出所有的數(shù),從123,339,到585……468,246;也就是唯一缺失片段只能唯一等式。

數(shù)據(jù)壓縮算法,本身就是對一個特定長度,使用特定進制的數(shù)據(jù),如何使用特定算法,以及算法所需要帶入的數(shù)據(jù),來還原成源文件,而這個過程中,要足夠快(這樣壓縮快,解壓縮也快),要盡可能減少試錯次數(shù)(也就是使用有缺失的方式,因為有缺失,所以需要一部分的窮舉,然后進行校驗,才能得出沒有錯誤的源文件),要盡可能只有一個碰撞結果(也就是不能一個壓縮后的文件,可以解壓縮出N個不同的版本)。

=作者的話=

先用統(tǒng)計,得出整個文件總共占用多少內(nèi)存,然后使用內(nèi)存移位和運算的方式,來還原出源文件,也就是說,本身只需要解壓縮后大小的內(nèi)存占用(只是根據(jù)壓縮使用的算法,和為解壓縮加速而存儲的排除法和排除碰撞方法,來實現(xiàn)解壓縮盡可能不進行不必要的運算)。

幻按位分隔符壓縮算法的評論 (共 條)

分享到微博請遵守國家法律
磐石市| 张家口市| 宁南县| 磐安县| 永平县| 北票市| 岳阳市| 陵水| 杭锦旗| 延长县| 新巴尔虎左旗| 枞阳县| 招远市| 安乡县| 清河县| 苍溪县| 丹阳市| 德格县| 宁武县| 新乐市| 浠水县| 河东区| 南充市| 厦门市| 贵定县| 安化县| 柘荣县| 绩溪县| 马龙县| 衢州市| 来凤县| 沙河市| 白河县| 油尖旺区| 杨浦区| 丹凤县| 永春县| 临桂县| 玉树县| 苏州市| 固原市|