我正在使用 DAWG(有向无环字图)编写文件压缩项目。程序必须执行两个操作:
(您不能以任何方式更改存档)
我的程序读取文件并将它们分成块(1 块 = 8 字节)。之后,每个块都被插入到 DAWG 中。主要问题是解压缩文件。为此,您需要遍历所有块(首先遍历 DAWG 并收集第一个块,然后收集第二个块,以此类推)
我想出的只是在每个顶点 v
中存储一个数组 Node* d[NUMBER_OF_BLOCKS]
,其中 d[b]
是指向块编号 b
的下一个顶点的指针。但是这种方法占用内存很大(每个顶点>1MB,如果块多的话),所以没有压缩。
是否可以存储压缩文件并解压所有文件而不占用大量内存?