文件对比,说白了,就是打开文件,读取文件,当做字符进行比较。遇到较大的文件,一次读完不够内存的话,就需要分割成多块,对比完之后,将对比生成的报告,连接在一起。
这么看来,文件和字符串都可以抽象成块(block)
———————— block1, 长度m
—————————— block2 , 长度n
如果对比上面两个block,希望找出两个block的差异,对比的算法抽象成这样一个过程:
1. 从较长的block2中找出较短block1的全字符匹位置为:
M(block1, 1,m,block2,1,n);