话说提醒我了……我也在一直找个算法/原理
winrar有rr碎包修复功能,所以我很想知道这个功能怎么做的……算法描述如下:(语言限制在ASP.NET系列内)
对于任意文件A,根据该算法输出文件B(可以设置文件B的大小,或者大致大小)。
对于文件A之中,任意分布的损坏部分(损坏部分小于文件B,但不远小于文件B。),可以用文件B予以完全修复
注:损坏有3种情况,1是“错误数据”,2是“多余数据”,3是“缺少数据”。只要能达成第一种即符合要求,如果同时能达成2或3,酌情增加奖励
如果有符合描述的算法——私人提供20硬币
如果不能提供算法代码,但可以描述基本原理——私人提供10硬币 兔子杀花 刚刚还看到了一个C++的帖子,这算法都出来了~ 好高深的东西啊 这才是技术流的啊佩服 有难度{:7_753:} {:7_725:}起来! 顶起来~~~ 不懂这个,帮顶 这个需要你对数据压缩算法和文件系统有较深入的了解吧,也不是一时半会能搞定的事。另外对任意分布的损坏部分(损坏部分小于文件B,但不远小于文件B。),可以用文件B予以完全修复,持怀疑态度。 huangya90 发表于 2012-10-12 21:17 static/image/common/back.gif
这个需要你对数据压缩算法和文件系统有较深入的了解吧,也不是一时半会能搞定的事。另外对任意分布的损坏部 ...
跟文件系统倒是没关系。我只考虑数据本身
跟压缩算法关系也不大。这不是保留全部信息的“压缩”,而是只保留一定量信息的“摘要”。
这个类似于一种hash算法。。。根据有限的数据总量进行逆推
最后:
理论上必然存在这么一种算法,原因是文件a损坏部分的最大熵值恒小于文件b的最大熵值,用大熵值数据恢复小熵值数据必然可行,但算法的创造难度就不好保证了
而且也有实例,详见winrar的碎包修复功能。 太深奥了 只是看看,好高深{:7_725:}
页:
[1]