3-D立方体包含三个维A,B,C。对于维A,B,C数组大小分别是40,400,4000。每个维分为4个相等的分区,共分为64块,因此,A、B、C每部分的大小分别是10、100、1000。
例如书上计算BC方体中的 b 0 c 0 b_0c_0 b0c0块(即 b 0 c 0 b_0c_0 b0c0面), 通过扫描ABC的第1~4块(编号如书上P127 图5-3所示),然后将四个块压缩到 b 0 c 0 b_0c_0 b0c0 面上(扫一个块便压缩),但是只需要一个BC块的放在内存,即得到了 b 0 c 0 b_0c_0 b0c0 块。然后该块又可以继续计算 b 1 c 0 b_1c_0 b1c0 块(直接赋值)。从而得到BC所有块,所以只要 100 × \times × 1000 的内存单位即可。
而计算AC方体,要计算 a 0 c 0 a_0c_0 a0c0块,那么要计算到第13块,将 1,5,9,13加在一起,得到 a 0 c 0 a_0c_0 a0c0块,但是还要计算 a 1 c 0 a_1c_0 a1c0块,如果像计算BC块一样给内存,这样会丢失前面的数据(2,6,10的数据),所以不能像BC那样,同理 a 2 c 0 , a 3 c 0 a_2c_0,a_3c_0 a2c0,a3c0也一样,故要保留 1,2,3,4的数据块内容,然后每层叠加上去,最后可以得到整个 AC 的块。所以只要 40 × \times × 1000 的内存单位。
而计算AB方体,要计算 a 0 b 0 a_0b_0 a0b0 ,要像计算AC一样保存之前的数据,不然会丢失(与之前的同理),故最小只要 40 × \times × 400 的内存单位。
所以:
根据1到64的扫描次序,在块内存中保存所有相关的2-D平面所需的最小存储为:
40×400(用于整个AB平面)+40×1000(用于AC平面一行)+100×1000(用于BC平面一块)=156,000个内存单位。